如何在JSF Datatable上创建多个行

时间:2012-05-14 14:04:50

标签: jsf datatable

我需要创建一个具有以下结构的表:

Column A     Column B     Column C     Column D
 xxxx         xxxx         xxxx         xxxx
Column E     Column F     Column G     Column H
 xxxx         xxxx         xxxx         xxxx

根据我列表中的项目数量,这将重复N次。

我进行了Google搜索,但未找到任何包含多行的示例。

我尝试在主datatable中使用datatable,但没有结果。

4 个答案:

答案 0 :(得分:1)

这样的事情怎么样:

   <h:dataTable value="#{bean.items}" var="item">
        <table>
          <tr>
              <td>column A</td>
              <td>column B</td>
              <td>column C</td>
              <td>column D</td>
          </tr>
          <tr>
              <td>#{item.columnA}</td>
              <td>#{item.columnB}</td>
              <td>#{item.columnC}</td>
              <td>#{item.columnD}</td>
          </tr>
          <tr>
              <td>column E</td>
              <td>column F</td>
              <td>column G</td>
              <td>column H</td>
          </tr>
          <tr>
              <td>#{item.columnE}</td>
              <td>#{item.columnF}</td>
              <td>#{item.columnG}</td>
              <td>#{item.columnH}</td>
          </tr>
        </table>
    </h:dataTable>

答案 1 :(得分:1)

我会创建一个HTML表并使用EL,如果有必要,这对我有用。

答案 2 :(得分:0)

使用标准JSF组件的最简单方法是在单个列/单元格中将单元格值呈现在彼此之下。

<h:dataTable value="#{bean.items}" var="item">
    <h:column>#{item.columnA}<br/>#{item.columnE}</h:column>
    <h:column>#{item.columnB}<br/>#{item.columnF}</h:column>
    <h:column>#{item.columnC}<br/>#{item.columnG}</h:column>
    <h:column>#{item.columnD}<br/>#{item.columnH}</h:column>
</h:dataTable>

如果需要,您可以在<div>中包装每个值,并使用正确的尺寸,边框和背景相应地输入一些CSS,使其看起来像一个真正的行。

答案 3 :(得分:0)

您可以将List<Object[]>一致传递给您需要的人,并在<h:datatable> answer here上获取值属性。