Записи с данными в нескольких строках таблицы данных с использованием граней - PullRequest
2 голосов
/ 20 января 2009

В JSF возможно ли иметь записи с отображением данных следующим образом?

      [Name  ][Last Name][Age]
1.    John     Doe         20
      Extra info on record 1

2.    John     Smith       20
      Extra info on record 2

Спасибо

Ответы [ 2 ]

4 голосов
/ 20 января 2009

Я уверен, что есть несколько способов сделать это.

Если вы не возражаете против вложения таблиц, вы можете использовать тег panelGrid и CSS.

Вид:

<f:view>
    <h:dataTable value="#{peopleBean.people}" var="row">
        <h:column id="column1">
            <f:facet name="header">
                <h:panelGrid columns="3" columnClasses="cell,cell,age">
                    <h:outputText value="First Name" />
                    <h:outputText value="Last Name" />
                    <h:outputText value="Age" />
                </h:panelGrid>
            </f:facet>
            <h:panelGrid columns="3" columnClasses="cell,cell,age">
                <h:outputText value="#{row.firstname}" />
                <h:outputText value="#{row.lastname}" />
                <h:outputText value="#{row.age}" />
            </h:panelGrid>
            <h:outputText styleClass="extra" value="#{row.extraInfo}" />
        </h:column>
    </h:dataTable>
</f:view>

стилевой:

TABLE {
    width: 100%;
}

TABLE TR TD {
    text-align: left;
}

.cell {
    width: 40%;
}

.age {
    width: 20%;
}

.extra {
    background-color: silver;
    padding: 4px;
    display: block;
    width: 100%;
}
1 голос
/ 20 января 2009

Третьи библиотеки, такие как RichFaces, позволяют вам делать это по принципу subTable. Вы можете проверить это пример от RichFaces. Это немного сложнее по сравнению с тем, что вы хотите сделать, но показывает использование компонента subTable ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...