2014-10-15 4 views
0

Я использую datatable и каждый row в таблице должен иметь различный цвет в зависимости от значения одного имущества ряда StatutTicket это мой вид кода:строки цвет JSF primeFaces

<p:dataTable id="dataTickets" var="ticket" 
     rowStyleClass="#{ticket.statutTicket.libelleStatutTicket == 'En attente' ? 'background-color:red': 'background-color:red'}" 
     value="#{ticketBean.tickets}"> 
     <p:column headerText="N Ticket" sortBy="#{ticket.idTicket}" 
      filterBy="#{ticket.idTicket}"> 
      <h:outputText value="#{ticket.idTicket}" /> 
     </p:column> 
     <p:column headerText="Statut Ticket"> 
      <h:outputText value="#{ticket.statutTicket.libelleStatutTicket}" /> 
     </p:column> 

</p:dataTable> 

Но цвета столбец не изменяется, и ошибка не отображается

ответ

1

На самом деле rowStyleClass атрибут принимает css класса типа вместо непосредственного использования в качестве

rowStyleClass="#{ticket.statutTicket.libelleStatutTicket eq 'En attente' ? 'background-color:red': 'background-color:red'}" 

использовать что-то вроде этого.

rowIndexVar="rowIndex" 
rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'redClass': 'blueClass'}" 

И добавить этот класс в файле css, как так, что вы будете иметь два различных цвета для двух последовательных строк.

.redClass { 
    background-color:red; 
} 
.blueClass { 
    background-color:red; 
} 
+0

ТНХ вас за вашу помощь, но она по-прежнему не работает :( – khadija

+0

Проверьте, что он возвращает '# {ticket.statutTicket.libelleStatutTicket эк«En attente»}' ?? если это возвращает логическое значение, то это, безусловно, работает. –

+0

Qadir Hussain как я могу это сделать для проверки – khadija

0

Попробуйте сравнить строки с использованием eq вместо ==. Или рассмотреть вопрос об использовании подложки боб для определения styleClass, например .:

rowStyleClass="#{ticketBean.styleClass(ticket)}" 
0

Это работа для меня.

.rowWarnning { 
     background-color: #FF9933 !important; 
     background-image: none !important; 
     color: #000000 !important; 
    } 

    <p:dataTable id="dataTickets" var="ticket" 
     rowStyleClass="#{ticket.statutTicket.libelleStatutTicket == 'En attente' ? 'rowWarnning': null}" 
     value="#{ticketBean.tickets}"> 
+0

это не работает :( – khadija

Смежные вопросы