2013-03-13 11 views
13

Chcę wyświetlić wiersze datatable w różnych kolorach.główne wiersze datatable coloring

Używam atrybut rowStyleClass. ale to nie zmienia kolory

Mój kod w DataTable jest

rowStyleClass="highlight"; 

i mój plik CSS wygląda tak,

.highlight { 
    background: yellow !important ; 
} 

Odpowiedz

21

Trzeba jak dwóch klas o różnych kolorach i użyj, w atrybucie rowStyleClass, wbudowanego, jeśli:

rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'highlight1' : 'highlight2'}" 

Gdzie "ro Windex”należy ustawić w DataTable atrybutu rowIndexVar

rowIndexVar="rowIndex" 

Oznacza to, że nawet wiersze będą mieć klasę styl rząd ustawiony jako«highlight1»i nieparzystych wierszy -«highlight2»

See here more info

+2

nie jest łatwiejsze wdrożenie '.ui-datatable-odd' oraz klasy .ui-datatable-even w twoim CSS, które domyślnie są implementowane przez 'p: dataTable'? – amphibient

+0

powinieneś także wspomnieć, że jeśli używasz motywów, powinieneś również nadpisać/zdefiniować "obraz w tle: brak;" w Twojej niestandardowej css – Bernhard

15

Najprostszym sposobem jest implementacja klas stylu .ui-datatable-odd i .ui-datatable-even w twoim CSS, które domyślnie są implementowane przez p:dataTable. Przykład:

.ui-datatable-odd { 
    background: #ffffff; 
} 

.ui-datatable-even { 
    background: #F2F5F9; 
} 

kończy się szukających czegoś podobnego

enter image description here

To może być trzeba użyć bardziej szczegółowe selektorów, przeczytaj o specyfice CSS dla tego

1

Spróbuj tego ... to działa w moim przypadku

.ui-widget-content .ui-datatable-even{ 
    background: #F2F5F9; 
} 

.ui-widget-content .ui-datatable-odd{ 
    background: red; 
} 
+0

Twoja odpowiedź jest "identyczna" do 12 przegłosowanych z niewielką różnicą, że twój selektor jest bardziej szczegółowy. W takich przypadkach można dodać komentarz do odpowiedzi lub zaproponować zmianę, w której stwierdza się, że czasami jest to konieczne. (Tak jak teraz edytowałem odpowiedź). Twoje zdrowie. – Kukeltje