Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/09/2011, 06:06
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Modificar dinámicamente el estilo de las columnas de un displaytag

Finalmente logré encontrar y aplicar con éxito un ejemplo similar a lo que yo necesitaba.

La solución se basa en la descrita en la siguiente dirección: http://demo.displaytag.org/displayta...-rowclass.jsp#

Para compartirla con el resto de la comunidad, voy a dar una breve explicación de como funcionaría:

Básicamente se trata de asignar una id y una class a mayores a los elementos <tr> odd y even generados automáticamente por displaytag.

Para ello, primero se debe crear una instancia de la clase org.displaytag.decorator.TableDecorator() que contenga los métodos addRowClass() y addRowId(), como se puede ver al pulsar en el botón view source de la parte superior derecha de la página.

Dentro de estos métodos lo único que se debe hacer es poner las condiciones para que se seleccione uno u otro nombre para la clase extra a añadir, o para la id. Lo que se retorna como parámetro es el nombre de la clase o de la id, que el propio displaytag se encargará de añadir por detrás.

Cuando se tenga instanciado, se asocia el decorator al display:table y se configurn en la css correspondiente los estilos de las nuevas clases/ids para los elementos <tr>.

Si todo está correcto, debería funcionar.

En el caso de ejemplo se usan objetos de la clase TestList y ListObject, que son propios del código de ejemplo. En nuestros casos usaremos Collections o ArrayList y objetos de clases personalizadas que tengamos en nuestros proyectos, pero la idea es la misma.

Esto permitirá obtener los estilos de colores, resaltar datos, etc manteniendo formatos numéricos y de fechas en los datos del displaytag.

Espero que el método haya quedado suficiente explicado y quien tenga necesidad de recurrir a esto pueda hacerlo con facilidad. Un saludo.