Tabla "Edit sales"

www.altova.com Expandir/Contraer todos Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Tutoriales > Bases de datos y gráficos >

Tabla "Edit sales"

La tabla "Edit Sales" como en el caso de la tabla "Edit Offices", la tabla se ha creado en una página de nivel superior separada. Cuando la solución se ejecuta, a esta página se accede desde la página de nivel superior (consulte la captura de pantalla a la izquierda). Haciendo clic en el botón Tabla "Edit Sales" se carga la tabla "Edit Sales" (captura de pantalla de la derecha). La tabla "Sales" presenta filas múltiples, cada una de las cuales tienen una columna "ID" (elementos de ventas) que se puede editar, una oficina editable y columnas de Mes, Año y de Licencias y un control "Eliminar" (siguiente captura de pantalla a la derecha). Además existe un control "Anexar fila" debajo de la última fila, un botón Enviar localizado en la barra de la tabla "Edit Sales" y un botón Atrás para regresar a la página anterior (sería la página de nivel superior en este caso).

MTDDBCSimulator01   Clic para ampliar

A ambos botones Editar del diseño (siguiente captura de pantalla) les ha sido asignada la acción "Ir a la página" en sus eventos respectivos AlPulsarBotón(haga clic con el botón derecho y seleccione Acciones de control para AlPulsarBotón). Estas acciones de "Ir a la página" (segunda captura de pantalla) cargan las páginas de destino correspondientes.

MTDDBCEditButtons

MTDDBCOnButtonPressed

 

Crear una tabla "Sales" editable

La tabla "Sales" de la BD tiene la estructura que se muestra en la estructura jerárquica de datos de $DB2 (siguiente captura de pantalla). Debido a que el atributo @id es la clave primaria, no se puede cambiar. Esto significa que cuando se anexa un nuevo registro, el usuario final no puede introducir un valor @id usando la solución. El valor @id debe generarse de forma automática usando una expresión XQuery. La expresión XQuery se inserta usando el comando del menú contextual, Comprobar existencia antes de la página se cargue (Valor XPath):

 

let $all := $DB2/DB/RowSet/Row/@id

let $ids := remove($allindex-of($all""))

let $id := if (empty($ids)) then 1 else max($ids) + 1

return $id

MTDDBCDataSrcDB2

En el diseño haremos lo siguiente:

 

Actividad

Método

Mostrar todas las filas (Sales)

Agregar una tabla de repetición con la fila Sales como elemento de repetición.

Incluir controles para agregar y eliminar filas

Cuando se agrega la tabla, se habilita la inclusión automática de los controles Eliminar/Anexar

Activar la edición de valores editables

Agregar un cuadro combinado y los controles de campo "Editar" que tienen enlaces de fuente de página.

Volver a guardar cambios en la BD

Agrega la acción Guardar en el evento AlPulsarBotónEnviar de la página. Con el botón derecho $DB2 y active Crear GrupoOriginaldeFilas

Regresar a la página de nivel superior

Agregar la acción "Ir a la página" al evento AlPulsarBotónAtrás de la página.

 

 

Click to expand/collapseAgregar una tabla de extensión con controles "Agregar/Eliminar"

Al arrastrar el elemento de control "Tabla" desde el Panel "Controles" y soltarlo en el diseño aparece el cuadro de diálogo "Tabla nueva" (captura de pantalla siguiente).

Click to expand/collapse

Especifique que la tabla se repitirá, introduzca el número de columnas(5)y de filas (2), active la casilla de verificación Controles Eliminar/Anexar y luego haga clic en Aceptar. Se agregarán las etiquetas como títulos de las celdas en la primera fila. Se agrega una etiqueta a la primera celda de la segunda fila para el valor @id que no se puede editar. En esta etiqueta (DB:id), se crea un enlace del nodo de origen al nodo @id de $DB2.

MTDDBCTableRepeating03

 

Click to expand/collapseActivar la edición de nodos editables

Se agrega un cuadro combinado para la oficina (con un enlace de nodo de origen a @Office) y se agregan los campos editados para las celdas "mes", "año", "licencias" con los enlaces de fuente de página a los nodos correspondientes.

MTDDBCTableRepeating03

 

Click to expand/collapseAcciones de página: 'Guardar' e 'Ir a página'

Haga clic en Página | Acciones de página para abrir el cuadro de diálogo "Acciones de página" (siguiente captura de pantalla)

MTDDBCEditSalesPageActions

Las acciones están definidas para los siguientes eventos:

 

AlPresionarBotónEnviar: Guarda todas las columnas de la página en la BD ($DB1) y regresa a la página de nivel superior. Si desea añadir la acción Volver a cargar para que la BD se vuelva a cargar sin que los datos sufran cambios en el caso de que el registro no se guarde en la BD (consulte la captura de pantalla anterior)
AlPulsarBotónAtrás: Regresa a la página de nivel superior..
 
MTDDBCEditOfficesPageActions02

 

La estructura de la fuente de página también ha de incluir un elemento ConjuntoFilaOriginal que es una copia del elemento ConjuntoFila. Los datos originales se guardan en el elemento ConjuntoFilaOriginal para que se puedan editar las columnas del elemento ConjuntoFila. El elemento ConjuntoFilaOriginal se actualiza con el valor nuevo sólo cuando los datos se vuelven a guardar en la BD.


 


© 2019 Altova GmbH