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).
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.
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($all, index-of($all, ""))
let $id := if (empty($ids)) then 1 else max($ids) + 1
return $id
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. |