在RichFaces表中心动态合并行

时间:2016-09-15 13:40:23

标签: jsf richfaces

我使用的是Richfaces 4,我需要在表格中心合并两行,例如:

+---+---+-------+
|   |   |   |   |
|---|   |-------+
|   |   |   |   |
+---+---+-------+

我尝试使用以下代码:

        <rich:column >
            <f:facet name="header">
                <h:outputText value="col 1" />
            </f:facet>
            <h:outputText value="val 1" />
        </rich:column>

        <rich:column breakRowBefore="true">
            <h:outputText value="Val 2" />
        </rich:column>

        <rich:column rowspan="2">
            <f:facet name="header">
                <h:outputText value="Col 2" />
            </f:facet>
            <h:outputText value="Val 2" />
        </rich:column>

        <rich:column>
            <f:facet name="header">
                <h:outputText value="Col 3" />
            </f:facet>
            <h:outputText value="Val 3" />
        </rich:column>

        <rich:column breakRowBefore="true">
            <h:outputText value="Val 4" />
        </rich:column>

        <rich:column>
            <f:facet name="header">
                <h:outputText value="Col 4" />
            </f:facet>
            <h:outputText value="Val 5" />
        </rich:column>

        <rich:column breakRowBefore="true">
            <h:outputText value="Val 6" />
        </rich:column>

但是使用这种方式第三列会中断。如果我在表的末尾合并列,就像这个JSF RichTable merging rows / columns in a header一样,它会正常工作。但这并不能解决我的问题。

1 个答案:

答案 0 :(得分:0)

你使它变得比它需要的更难,它的工作方式与标准HTML非常相似。 breakRowBefore只是开始一个新行(因此所有后续列将位于同一行或更低的行)。您的示例有两行,因此您只需使用一次:

<column>
<column rowspan="2">
<column>
<column>

<column breakRowBefore="true">
<column>
<column>