В JSF вы можете использовать выражение EL установить styleClass следующим образом:RichFaces HtmlColumn класс стиля перезаписать
<rich:column>
<h:outputText value="12" id="sumOfAllValues" styleClass="#{!t330RowItems.showSpecialField ? 'rich-table-green' : 'rich-table-cell'}"/>
</rich:column>
Теперь я строю таблицу в Java коде, используя org.richfaces.component.html.HtmlColumn только проблема в том, когда это сделать:
htmlColumn.setStyleClass("#{!t330RowItems.showSpecialField ? 'rich-table-green' : 'rich-table-cell'}");
следующая HTML генерируется:
<tbody id="j_id154:tb">
<tr class="rich-table-row rich-table-firstrow ">
<td class="rich-table-cell #{!t330RowItems.showSpecialField ? 'rich-table-green' : 'rich-table-cell'}" id="j_id154:0:j_id155">55</td>
</tr>
Th Проблема заключается в том, что он не оценивает выражение EL. Любые идеи о том, как я могу получить его, либо имеют rich-table-cell
, либо rich-table-green
как styleClass?
Великий это решить часть проблемы, где htmlColumn.setValueExpression ("styleClass", styleClassVE); Единственное, что теперь генерируется:
Возможно, вам нужно заменить ''rich-table-cell'' условием на' '' '? Я понятия не имею, какой HTML RichFaces будет сгенерирован при любых обстоятельствах и в чем заключается ваше точное функциональное требование, поэтому я просто дико угадываю. Этого должно быть достаточно, чтобы определение класса CSS «.rich-table-green» переопределяло любые стили, заданные '.rich-table-cell'. – BalusC
Так же, как сторона примечания, если строка представляет собой специальную строку, она генерирует следующее: