jsf h:4列上的dataTable

时间:2014-03-17 10:17:25

标签: jsf-2

我有以下简单的代码:

它打印出一些标签,但它显示出来       只有2列

但在panelGrid我指定了

  columns=4

我想要4列而不是2。

代码:

        <p:tab title="Details Udfs" rendered="#{errorContractBean.flagMoneyD}">  
                    <h:panelGrid id="detailsudfM" columns="4" cellpadding="5" style="margin-bottom:5px" styleClass="grid">
                            <h:dataTable var="o" value="#{errorContractBean.liM}">
                            <h:column>
                                    <h:outputText value= "#{o.udf}"/>
                            </h:column>
                            <h:column>
                                    <h:outputText  value= "#{o.value}" style="font-weight:bold;"/>
                            </h:column>
                           </h:dataTable>                           
                    </h:panelGrid>
                </p:tab>  

当前输出:

enter image description here

期望的输出:

enter image description here

1 个答案:

答案 0 :(得分:0)

panelGrid实际上有4列,但在第一行和第一列中有数据表,而数据表只有2列。我不认为你应该在这里使用数据表。请改用facelets c:forEach - 标签。请尝试以下方法:

<h:panelGrid columns="4">
    <c:forEach var="o" items="#{errorContractBean.liM}">
        <h:outputText value= "#{o.udf}"/>
        <h:outputText value= "#{o.value}" style="font-weight:bold;"/>
    </c:forEach>
</h:panelGrid>