3

有没有办法使用 JSF 将两个或多个列分组到 JSF 中的单个父列下?我有一个 dataTableEx,里面有 hx:columnEx 列。我想要的是这样的:

 [MAIN HEADER FOR COL1+2   ][Header for Col 3+4]

 [ COL1 Header][COL2 Header][COL3    ][COL 4   ] 

 Data          Data             Data     Data

 Data          Data             Data     Data

 Data          Data             Data     Data

 Data          Data             Data     Data

数据 数据 数据 数据

谢谢

4

3 回答 3

1

您可能可以使用表格标题、panelGrid 和一点 CSS 来实现您想要的。

<style type="text/css">
.colstyle {
    width: 25%
}
</style>
</head>
<body>

<f:view>
    <h:dataTable border="1" value="#{columnsBean.rows}" var="row"
        columnClasses="colstyle">
        <f:facet name="header">
            <h:panelGrid columns="2" border="1" style="width: 100%">
                <h:outputLabel style="width: 100%" value="MAIN HEADER FOR COL1+2" />
                <h:outputLabel style="width: 100%" value="MAIN HEADER FOR COL3+4" />
            </h:panelGrid>
        </f:facet>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL1 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col1}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL2 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col2}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL3 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col3}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL4 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col4}" />
        </h:column>
    </h:dataTable>
</f:view>
于 2008-11-05T17:31:05.280 回答
0

您最好的选择可能是对第一个标题(外部表中的第一个标题,嵌套表中的第二个标题和数据)使用嵌套表,使其看起来像两个标题。

于 2008-11-03T17:22:39.043 回答
0

也许您可以看看高级组件库,例如为数据表提供更复杂结构的 RichFaces,就像在这个示例中一样。

于 2008-11-04T07:47:44.943 回答