JSF - Томагавк Т: PanelGrid стиль - PullRequest
3 голосов
/ 08 апреля 2011

JSF:

...
    xmlns:t="http://myfaces.apache.org/tomahawk">
     <t:panelGrid columns="4">
       ...
     </t:panelGrid>

Он динамически генерирует простую старую HTML-таблицу с элементами tr и td.

Как установить конкретные стили CSS для этихtr и / или td элементов?

1 Ответ

7 голосов
/ 08 апреля 2011

Используйте атрибуты columnClasses и rowClasses, чтобы дать каждой ячейке уникальный класс

Например:

 <t:panelGrid columns="4" columnClasses="a,b,c,d" rowClasses="x,y,z">

 </t:panelGrid>

columnClasses

Атрибут columnClasses принимает список с разделителями-запятымиКлассы стилей CSS, которые будут применены к столбцам таблицы.Классы стилей для отдельного столбца также могут быть определены в списке, разделенном пробелами.Класс стиля применяется к столбцу таблицы в качестве значения для атрибута класса отображаемого элемента td или th.

Алгоритм, используемый для применения классов стиля CSS к столбцам таблицы, прост.В процессе рендеринга таблицы классы стилей применяются к столбцам по одному, пока (а) не останется больше столбцов для отображения или (б) не будет больше классов стилей для применения.

* If (a) happens at the same time as (b), the next row in the table is rendered.
* If (a) happens before (b), the remaining style classes are ignored.
* If (b) happens before (a), the remaining columns will not have style classes.

rowClasses

Атрибут rowClasses принимает разделенный запятыми список классов стилей CSS, которые будут применены к строкам таблицы.Классы стилей для отдельной строки также могут быть определены в списке, разделенном пробелами.Класс стиля применяется к строке таблицы в качестве значения для атрибута класса отображаемого элемента tr.

Классы стиля применяются к строкам в том же порядке, в котором они определены.Например, если есть два класса стилей, первый применяется к первой строке, второй применяется ко второй строке, первая применяется к третьей строке, вторая применяется к четвертой строке и так далее.Список стилей зацикливается с самого начала до тех пор, пока не останется больше строк для отображения.

В моем стандартном проекте JSF (Mojarra 2.0.3)

Этот тег генерирует:

   <h:panelGrid border="1"
                columns="4" 
                columnClasses="a,b,c,d" 
                rowClasses="x,y,z">

                    <h:outputText value="ax"/>
                    <h:outputText value="bx"/>
                    <h:outputText value="cx"/>
                    <h:outputText value="dx"/>

                    <h:outputText value="ay"/>
                    <h:outputText value="by"/>
                    <h:outputText value="cy"/>
                    <h:outputText value="dy"/>

                    <h:outputText value="az"/>
                    <h:outputText value="bz"/>
                    <h:outputText value="cz"/>
                    <h:outputText value="dz"/>

   </h:panelGrid>

Этот HTML-код:

    <table border="1">
        <tbody>
            <tr class="x">
                <td class="a">ax</td>
                <td class="b">bx</td>
                <td class="c">cx</td>
                <td class="d">dx</td>
            </tr>
            <tr class="y">
                <td class="a">ay</td>
                <td class="b">by</td>
                <td class="c">cy</td>
                <td class="d">dy</td>
            </tr>
            <tr class="z">
                <td class="a">az</td>
                <td class="b">bz</td>
                <td class="c">cz</td>
                <td class="d">dz</td>
            </tr>
        </tbody>
    </table>
...