JSF <h:datatable>列设置?

时间:2017-04-22 08:52:41

标签: jsf datatable

我在JSF中使用,但名称似乎从上到下。我希望看到它们像matrice。图片如下。 这是代码运行时的图片:

但我希望看到它:

<h:dataTable value="#{bean.persons()}" var="myvar">
    <h:column>
       #{myvar.name} 
    </h:column>
</h:dataTable>

1 个答案:

答案 0 :(得分:1)

dataTable并非真正适合这项工作的工具。最好使用panelGrid。在那里,您可以指定渲染其子组件的列数。所以在你的情况下4:

<h:panelGrid columns="4">
  <c:forEach items="#{bean.persons()}" var="myvar">
    <h:outputText value="#{myvar.name}"/>
  </c:forEach>
</h:panelGrid>

因为它会为每个组件创建一个列,所以使用outputText组件来呈现您的文本。

但是,如果你真的想坚持使用dataTable,你可以给它一个类(例如class="myTable"),并使用CSS将它设置为4列:

.myTable * { display: block; }
.myTable tr { width: 25%; float: left; }