2016-06-02 18 views
0

Ich habe eine reiche: Datentabelle wie folgt:Wie style eine Zeile in Rich: Datatable entsprechend dem Zeilenwert oder Index?

<rich:dataTable var="scheduledTimeItem" 
value="#{itineraryBean.weekDaysScheduledTimes}"> 
    <rich:column style="text-align: center;"> 
     <h:outputText>#{scheduledTimeItem.formattedStartTime} </h:outputText> 
    </rich:column> 
</rich:datatable> 

Und ich möchte zum Beispiel, Hintergrund-Farbe setzen: rot im Stil dieser Zeile, wenn der Wert von scheduledTimeItem.formattedStartTime größer als 17 ist : 00h oder die aktuelle Zeit zum Beispiel.

Wie sende ich den Wert der Zeile oder des Index an die Bohne zum Zeitpunkt der Wiedergabe?

+2

Mögliches Duplikat von [So formatieren Sie eine Zeile in einer Rich-Data-Tabelle bedingt] (http://stackoverflow.com/questions/963971/how-to-conditional-style-a-row-in-a-richdatatable) – Kukeltje

+0

@Kukeltje Das hilft nur, um eine ganze Spalte zu stylen – StudioWorks

+0

@Kukeltje Link enthält zebrastil-Beispiel und wertbezogenen Zeilenstil. Überprüfen Sie alle Antworten. Grundidee: Definieren Sie Stile in CSS und verwenden Sie ihre in Datentabelle über das 'rowClasses' Attribut. –

Antwort

1

Sie können für jede Spalte so etwas wie dieses

<h:outputText styleClass="#{scheduledTimeItem.style}">#{scheduledTimeItem.formattedStartTime} </h:outputText> 

tun.

+1

Dann stylen Sie grundsätzlich den Zellinhalt, nicht die Zelle. Damit der Cel-Inhalt die Zelle vollständig umfasst, müssen Sie mit Rändern, Padding usw. spielen. – Kukeltje

+0

Sie haben Recht, Ihr Link zeigt in die richtige Richtung. – Turo