Ik vraag het hier maar, want ik kan geen goede oplossing vinden binnen JSF. Het probleem:
Op mijn huidige project willen we, afhankelijk van een aantal checks, rijen in overzichten een kleurtje geven. Dus afhankelijk van de status van die rij de kleur bepalen. Op zich klinkt het niet moeilijk, maar ik kan geen JSF oplossing vinden die me echt aanstaat.
Ik heb nu twee werkende oplossingen, namelijk:
Dit is een vorm van resultaat dat ik voor ogen heb:
Op mijn huidige project willen we, afhankelijk van een aantal checks, rijen in overzichten een kleurtje geven. Dus afhankelijk van de status van die rij de kleur bepalen. Op zich klinkt het niet moeilijk, maar ik kan geen JSF oplossing vinden die me echt aanstaat.
Ik heb nu twee werkende oplossingen, namelijk:
- Facelets <ui:repeat />. Dit is niks meer dan een veredelde for loop waarmee ik zelf mijn tabel teken. Werkt op zich wel, maar ik heb nu eenmaal een complete applicatie op basis van datatables en wil het liever niet omzetten.
- JavaScript. Per rij geef ik momenteel in een specifiek overzicht hidden velden terug met de status van die rij en op de client wordt nog eens over alle rijen heen geïtereerd. Dit JavaScript stuk is nodig voor een iets beter reagerende GUI, maar die hidden velden zijn vies, vind ik. Bovendien kost de eerste iteratieslag bij grote overzichten veel tijd op de client. In IE kan het oplopen tot 20 sec.
- Met fancy CSS kun je volgens mij ook iets doen zoals selectors die op basis van children opereren, maar dat oogt nog niet cross browser.
Dit is een vorm van resultaat dat ik voor ogen heb:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <table> <tr class="even"> <td>1</td><td>2</td><td>3</td> </tr> <tr class="oneven"> <td>1</td><td>2</td><td>3</td> </tr> <tr class="even"> <td>1</td><td>2</td><td>3</td> </tr> <tr class="BLAUW"> <td>1</td><td>2</td><td>3</td> </tr> <tr class="even"> <td>1</td><td>2</td><td>3</td> </tr> </table> |
Fat Pizza's pizza, they are big and they are cheezy