Tabla "Edit Offices"

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 Offices"

La tabla "Edit Offices" se ha creado en una página de nivel superior separada. Cuando la solución se ejecuta, se puede acceder a esta página desde la página de nivel superior (consulte la siguiente captura de pantalla a la izquierda). Haciendo clic sobre el botón Tabla "Edit Offices" se carga la tabla Edit Offices (siguiente captura de pantalla a la derecha). La tabla "Offices" muestra siete filas, cada una de las cuales tienen una columna "ID" que se puede editar, una columna "City" que se puede editar 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 Offices" 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   MTDDBCSimulatorEditOffices01

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 metas correspondientes.

MTDDBCEditButtons

MTDDBCOnButtonPressed

 

Crear tablas "Oficina" editables

La tabla "Offices" de la BD tiene la estructura que se muestra en la estructura jerárquica de datos de $DB1 (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 := $DB1/DB/RowSet/Row/@id

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

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

return $id

MTDDBCDataSrcDB1

En el diseño haremos lo siguiente:

 

Actividad

Método

Mostrar todas las filas (Office)

Agregar una tabla de extensión con la fila Office como elemento de extensió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 los valores @City

Agregar el control de campo "Editar" que tiene como nodo de origen a @City

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 $DB1 y active Crear GrupoOriginaldeFilas

Regresar al menú principal

Agrega 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 control "Agregar/Borrar"

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

MTDDBCTableRepeating01

Especifique que la tabla se repitirá, introduzca el número de columnas(4)y de filas (1), seleccione y active la casilla de verificación Controles Anexar/Eliminar y luego haga clic en Aceptar. Se agregarán las etiquetas a las tres primeras celdas de la fila tal y como se muestra en la captura de pantalla siguiente. Se crea un enlace del nodo de origen al nodo @id de $DB1 para la segunda etiqueta (DB:id).

MTDDBCTableRepeating02

 

Click to expand/collapseActivar la edición de @City en $DB1

Se agrega un control de campo "Edición" a la cuarta celda y para ello se crea un enlace de nodo de origen al nodo @City de $DB1. Usamos un control de campo "Editar" en esta celda porque queremos que el usuario final sea capaz de editar los valores @City; todas las demás celdas tienen controles de etiquetas.

MTDDBCTableRepeating02

 

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

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

MTDDBCEditOfficesPageActions

Las acciones se definen para los eventos siguientes:

 

AlPulsarBotónEnviar: Guarda todas las columnas de la página en la BD ($DB1) y regresa a la página de nivel superior. Debería también añadir la acción Recargar para que la BD se recargue con los datos no modificados en caso de que el resgistro no se guardara en la BD (captura de pantalla anterior).
AlPulsarBotónAtrás: Regresa a la página de nivel superior.
 
MTDDBCEditOfficesPageActions02

 

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


 


© 2019 Altova GmbH