2

在 JSF 中是否可以让数据表显示如下记录?

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

2.    John     Smith       20
      Extra info on record 2

谢谢

4

2 回答 2

4

我敢肯定有很多方法可以做到这一点。

如果您不介意嵌套表格,可以使用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%;
}
于 2009-01-20T16:49:31.687 回答
1

第三个库,例如 RichFaces,允许您使用 subTable 的原理来做到这一点。您可以从 RichFaces查看此示例。与您想要做的相比,它有点复杂,但它显示了 subTable 组件的用法......

于 2009-01-20T15:35:06.050 回答