我需要创建一个具有以下结构的表:
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
,但没有结果。
答案 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上获取值属性。