Как я могу раскрасить всю строку, используя информацию из сущности?

#jsf #richfaces

Вопрос:

У меня есть следующая таблица в .xhtml файле. Я хочу раскрасить всю строку таблицы, а не только текстовый фон. Как я могу это сделать RichFaces ?

Примечание: в таблице больше столбцов, я только что опубликовал здесь один из них.

 <rich:panel styleClass="container dynamic grey table col7">
    <f:facet name="header">#{msg.toop_normalverteilungstest_results}</f:facet>

    <rich:dataTable styleClass="dynamic equicol7"
        value="#{normalverteilungstestBean.statisticResultsList}" var="stat" id="table">

        <rich:column id="testschritteVal" styleClass="col1-table" headerClass="col1-table">
            <f:facet name="header">
                <h:outputText value="#{msg.masterdata_normalverteilungstest_testschritte}" />
            </f:facet>

            <h:outputLabel rendered="#{stat.color == 'g'}" style="background-color:MediumSeaGreen;"
                value="#{stat.testschritte}" styleClass="col1" />

            <h:outputLabel rendered="#{stat.color == 'r'}" style="background-color:Tomato;"
                value="#{stat.testschritte}" styleClass="col1" />

            <h:outputLabel rendered="#{stat.color == 'w'}" value="#{stat.testschritte}" styleClass="col1" />
        </rich:column>
    </rich:dataTable>
</rich:panel>
 

Ответ №1:

Есть rowClass атрибут. Просто объедините это с CSS. Например:

 <style>
    tr.g { background-color: MediumSeaGreen; }
    tr.r { background-color: Tomato; }
    tr.w { background-color: white; }
</style>
 

и rowClass="#{stat.color}" вошел rich:dataTable .