< Anterior | Siguiente >

Lección 2.1: Dar formato a una tabla de datos

La tabla de datos de la página all_records.jsp tiene un aspecto utilitario. Visualiza todos los registros de la base de datos así como los enlaces a otras páginas, que es lo que se quería, pero no es muy atractiva. En este ejercicio se mejorará esta tabla de datos añadiendo un paginador, reglas de estilo e imágenes de los elementos a la venta.

Redenominar cabeceras de columna

En muchos casos no se quiere que las cabeceras de columna de la tabla de datos sean los mismos nombres que en la base de datos. Los pasos siguientes muestran cómo cambiar el nombre de la cabeceras de columna de la tabla de datos a nombres más apropiados.
  1. Realice una doble pulsación sobre la página all_records.jsp en la vista Explorador de proyectos
  2. Pulse en la cabecera de la columna Maincategory de la tabla de datos.
  3. En la vista Propiedades, pulse la pestaña h:outputText y cambie el campo de texto Valor de Maincategory a Category.
  4. Si lo desea, puede redenominar el resto de columnas.
  5. Guarde la página.

Dar formato a componentes de salida

También puede dar formato a componentes de salida. En estos pasos, se dará formato al componente de salida {PRICE} (PRECIO) para que aparezca como un valor monetario en vez de como número normal.
  1. Pulse sobre el componente de salida {PRICE} de la página.
  2. En la vista Propiedades, busque la lista desplegable Tipo y seleccione Moneda. El precio de los elementos se mostrará en estilo de moneda en vez de como un número normal. Hay otros estilos y formato disponibles para los distintos tipos de datos, como porcentaje, fecha y hora. También se puede personalizar el formato de un componente de salida para que muestre un tipo de datos que no esté en la vista Propiedades, como pueda ser un número de teléfono.
  3. Guarde la página.

Ordenar los datos

Ahora mismo, los datos de la lista no están ordenados. Para proporcionar a los usuarios una lista de anuncios más organizada, ordenaremos la lista de registros por categoría, de forma que los elementos similares se agrupen.
  1. Pulse con el botón derecho sobre all_recordlist (ADS) en la vista Datos de página (Ventana > Mostrar vista > Datos de página) y pulse Configura en el menú de contexto. Se abrirá la ventana Configurar lista de registros relacionales. Si aparece un mensaje de aviso indicando que no se ha podido establecer la conexión a la base de datos, es porque ha dejado el servidor en ejecución después de probar el sitio Web. Si esto ocurre, pulse Cancelar en cada diálogo y detenga el servidor, tal como se explica en la sección "Detener el servidor" en el apartado Probar el sitio Web.
  2. Seleccione Recuperar registro existente o lista de registros de ámbito y Reutilizar definición de metadatos de un registro o lista de registros existente y pulse Siguiente.
  3. En la ventana siguiente, pulse para seleccionar ADS y a continuación pulse Siguiente.
  4. En el lado derecho de la ventana siguiente, pulse Ordenar resultados. Esto abre la ventana Órdenes.
  5. En el panel Columnas disponibles, pulse sobre MAINCATEGORY.
  6. Pulse el botón > para mover la columna MAINCATEGORY al panel Ordenar por. La ventana debería tener el aspecto siguiente:
    Pestaña Ordenar por de la ventana Configurar lista de registros relacionales.
  7. Pulse Cerrar para cerrar la ventana Órdenes.
  8. Pulse Finalizar para aplicar los cambios. Los datos ya están ordenados por categoría. Puede ordenar cualquier columna de la base de datos.

Añadir un paginador

En vez de mostrar todos los registros de una vez en la tabla de datos, puede utilizar un paginador. El paginador divide automáticamente los registros en páginas de un tamaño establecido, sin tener que crear nuevos archivos JSP para el proyecto.
  1. Pulse en cualquier lugar de la tabla de datos.
  2. En la vista Propiedades, pulse h:dataTableEx de la lista de códigos HTML en la parte izquierda de la vista.
  3. Pulse la pestaña Opciones de visualización bajo h:dataTableEx.
  4. En el campo Filas por página entre 5.
  5. Pulse el botón situado junto a Añadir un paginador de estilo Web. En la parte inferior de la tabla de datos aparece un dibujo que muestra cómo quedará el paginador. La visualización del paginador en el Diseñador de páginas (Page Designer) es una imagen de posición, y no refleja realmente las páginas que se visualizarán, ya que sólo se puede determinar cuando la página se carga en un navegador.
  6. Guarde la página. Puede probar distintos estilos de los componentes Paginador y Estadísticas de página para buscar la que mejor se ajuste a su diseño de página.

Diseño de los componentes de un recuadro de grupo como una lista

En vez de tener un componente de salida en cada columna de la tabla de datos, se pueden combinar elementos dentro de las columnas para generar un diseño más atractivo. Se utilizará un Recuadro de grupo para organizar los componentes de una forma parecida al uso de una tabla HTML oculta. Concretamente, tras añadir el componente imagen para mejorar visualmente el sitio, tomaremos la mayoría de la información de texto de cada anuncio y lo colocaremos en una única columna de la tabla de datos, que tendrá como etiqueta DETAILS (DETALLES).
  1. Pulse la bandeja Componentes Faces ampliados de la paleta para abrirla. Arrastre un componente Panel - Recuadro de grupo a la columna TITLE de la tabla de datos. Se abrirá la ventana Seleccionar tipo.
  2. Elija Recuadro como el tipo de Recuadro de grupo en la ventana Seleccionar tipo, y pulse Aceptar. Este recuadro de grupo diseña los componentes que tiene dentro en una única columna o fila y se puede orientar vertical u horizontalmente.
  3. Pulse sobre el Recuadro de grupo para seleccionarlo.
  4. En la vista Propiedades, cambie Orientación a Vertical.
  5. Arrastre el componente {TITLE} al recuadro de grupo de lista. El texto de las instrucciones del recuadro de grupo desaparece una vez haya añadido un componente.
  6. Arrastre un componente Imagen de la bandeja Componentes Faces ampliados de la paleta al Recuadro de grupo de lista. Es útil arrastrar el componente de imagen sobre el borde inferior del Recuadro de grupo para asegurar que la imagen se colocará debajo del título.
  7. Pulse sobre el componente de imagen que acaba de añadir.
  8. Utilice el área Tamaño de la vista Propiedades para establecer la Anchura en 60 píxels y la Altura en 50 píxels. Así se asegura que, independientemente del tamaño de las imágenes de la base de datos, en la página tendrán siempre el tamaño 60x50.
  9. Enlace el componente imagen a la columna PHOTO de all_recordlist arrastrando la columna PHOTO de la vista Datos de página sobre el componente imagen. Así se consigue que el componente imagen visualice los datos de imagen de la columna PHOTO de cada registro. Si la columna PHOTO (ByteArray) no aparece en la lista, pulse con el botón derecho sobre all_recordlist (ADS) en la vista Datos de página y seleccione Configurar en el menú. Pulse Aceptar para cerrar la ventana URL si ésta se abre. En la ventana Configurar lista de registros relacionales, pulse Siguiente. Seleccione ADS y pulse Siguiente. Marque el recuadro de selección situado junto a PHOTO (ByteArray) y pulse Finalizar.
  10. Pulse el gráfico insertado. En la pestaña hx:graphicImageEx de la vista Propiedades, pulse el botón Seleccionar objeto de datos de página  situado junto al campo Tipo. Se abrirá la ventana Seleccionar objeto de datos de página.
  11. Pulse para expandir all_recordlist (Service Data Object) > all_recordlist (ADS).
  12. Pulse IMAGETYPE (String).
  13. Pulse Aceptar y guarde la página.
La página debería tener el aspecto siguiente:
Aspecto actual de la página.

Refinar el diseño con una rejilla de recuadro de grupo

Un Recuadro de grupo también puede organizar componentes en formato de tabla. Un Recuadro de grupo de tipo Lista sólo puede tener una fila o columna, pero un Recuadro de grupo de tipo Rejilla puede tener varias filas o columnas. En estos pasos, se moverán los componentes {PRICE} y {PHONE} a la columna DESCRIPTION de la tabla de datos e incluiremos etiquetas para ellos.
  1. Arrastre un componente Panel - Recuadro de grupo de la bandeja Componentes Faces ampliados de la paleta a la columna DESCRIPTION de la tabla de datos. Se abrirá la ventana Seleccionar tipo.
  2. Pulse Rejilla como tipo del componente a añadir y luego Aceptar.
  3. Pulse sobre el Recuadro nuevo de grupo de rejilla.
  4. Utilice la vista Propiedades para establecer el número de Columnas de este recuadro de grupo en 2.
  5. Arrastre un componente Salida de la bandeja Componentes Faces de la paleta al Recuadro de grupo de rejilla. Este componente de salida será una etiqueta para la descripción del elemento a la venta. Cada componente de salida tendrá una etiqueta como esta en la celda izquierda de la tabla.
  6. Pulse el componente Salida (en Page Designer aparece como outputText) y utilice la vista Propiedades para asignarle el Valor Description:
  7. Arrastre el componente {DESCRIPTION} existente al extremo inferior del recuadro de grupo de cuadrícula. Si tiene problemas arrastrando los componentes al lugar adecuado del recuadro de grupo, pruebe pulsando el botón del ratón y observe el cursor. La ubicación del cursor en el recuadro de grupo indica el lugar en que aparecerá el componente cuando suelte el botón del ratón. En este ejercicio, debe soltar el botón del ratón cuando el cursor esté a la derecha del componente previo.
  8. Arrastre otro componente Salida de la paleta y suéltelo en la parte derecha del recuadro de grupo.
  9. Utilice la vista Propiedades para asignarle un Valor Price:.
  10. Arrastre el componente de salida {PRICE} existente a la derecha del texto de salida Precio.
  11. De la misma forma, arrastre un componente Salida para la etiqueta para el componente {PHONE} y llámelo Phone:.
  12. Arrastre el componente {PHONE} existente en el recuadro de grupo de cuadrícula a la derecha del texto de salida de Phone. La página debería tener el aspecto siguiente:
    Aspecto actual de la página.
  13. Suprima las columnas PRICE y PHONE vacías de la tabla de datos. Para suprimir una columna, pulse sobre la columna y abra la vista Propiedades. A continuación pulse h:dataTable de la lista de códigos HTML que hay a la izquierda de la vista, seleccione la columna que quiere eliminar de la lista de la derecha de la vista y pulse Eliminar.
  14. Pulse sobre la cabecera de la columna Descripción y utilice la vista Propiedades para cambiar su campo Valor a Detalles. La página debería tener el aspecto siguiente:
    Aspecto actual de la página.
  15. Guarde la página y pruébela. Si no está familiarizado con la ejecución de las aplicaciones en el servidor, consulte la Lección 1.3: Probar el sitio Web.
Cuando pruebe la página, debería tener el aspecto siguiente:
Aspecto actual de la página durante la prueba.

Los anuncios que no tengan una imagen asociada visualizarán un enlace dañado. En la próxima lección, aprenderá a añadir un componente de subida de archivos a la página para añadir o cambiar la imagen de un anuncio.

Punto de comprobación de lección

Ha terminado la Lección 2.1. En esta lección ha aprendido a formatear la tabla de datos de varias formas.

Ha aprendido a:
  • Cambiar las cabeceras de columna.
  • Ordenar los datos de la tabla.
  • Añadir un paginador para repartir los datos en varias páginas Web más pequeñas.
  • Utilizar recuadros de grupo de varias formas para cambiar el diseño de la tabla en la página Web.
< Anterior | Siguiente >