====== Creación del formulario del Maestro ====== --- //[[pedrody@um.es|PEDRO DELGADO YARZA]] 2014/03/11 13:01// A la hora de crear el formulario del maestro debemos tener en cuenta que no sólo debemos crear la pantalla en sí, sino la lógica necesaria para la navegación a un elemento del detalle. En la parte íntegra del Maestro añadiremos los campos necesarios para la edición de los valores del mismo y una tabla que cargará el detalle cuya estructura será la siguiente: ....
....
Las propiedades a destacar de ta tabla son las siguientes: - **value**: Hace referencia a la clase Java creada junto al maestro (LazyAnuncioDataModel) que gestionará los datos de la tabla. - **paginator**: Habilita la paginación. - **rows**: Filas mostradas por defecto - **paginatorPosition**: Posición donde queremos que aparezcan los elementos de paginación: top, bottom, both. - **paginatorTemplate**: Plantilla que define qué elementos de paginación utilizaremos. - **rowsPerPageTemplate**: Selector de filas que queremos ver. Se selecciona inicialmente las indicadas en la propiedad **rows** pero cambiando el selector veremos más o menos. - **lazy**: Esencial para que la carga de la tabla sea dinámica. - **emptyMessage**: Mensaje que queremos mostrar si no hay resultados. Adicionalmente a la tabla le hemos incorporado un elemento llamado **exportador** que permite exportar a PDF, XML, XLS, CSV los valores mostrados en la tabla. Podemos decidir si todos los registros o sólo los que estamos viendo en pantalla. Al mismo tiempo podemos indicar si no queremos que alguna columna se vea, como es el caso de la última, para ello hacemos uso de la propiedad de ** exportable="false"**. El componente exportador quedaría así: Las propiedades más importantes de **** son: - **type**: Indica a qué formato exportaremos: XML, XSL, PDF, CSV. - **target**: Tabla de la cual cogeremos los datos. - **fileName**: Nombre del fichero que se generará. - **pageOnly**: Exportar sólo los datos visibles (la página actual) o todos. ===== Navegación al formulario del detalle ===== Una vez tenemos listo el formulario que define la vista del maestro, debemos preparar la navegación hacia el formulario del detalle. Para ello debemos definir una manera de navegar en la pantalla del maestro, en nuestro caso hemos dispuesto un ** Esta acción lanzará el siguiente proceso Java: public String editarDetalleAnuncio(Anuncio anuncio) { this.anuncioSeleccionado = anuncio; this.modoEdicion = true; log.debug("Obteniendo comentarios del anuncio: #0", anuncio.getId()); HashMap parametros = new HashMap(); parametros.put("anuncioId", anuncio.getId()); buscadorComentarios.setParametros(parametros); return "crearEditarAnuncio"; } Este código asigna del listado el elemento que hemos seleccionado al bean de respaldo, al mismo tiempo inicializa el buscador de su detalle para cargarlo y devuelve un string que desencandenará la navegación. Por último para que este proceso se realice correctamente debemos crear un fichero: ***.page.xml** donde definiremos la navegación Tras estos pasos el flujo de aplicación irá a la pantalla de detalle (en modo edición), donde podremos editar nuestro bean y acceder al listado de elementos que contiene.