我找不到关于如何使一个项目显示在两个(或更多)行上的primefaces数据表示例。 我需要在数据表中显示一个关于这样的项目:
<table>
<tr>
<td>Text 1 from entry</td>
<td>Text 2 from entry</td>
</tr>
<tr>
<td colspan="2">Text 3 from entry</td>
</tr>
</table>
是否可以完成,或者我应该使用其他标记进行渲染?
我试过了:
...xmlns:p="http://primefaces.org/ui"...
<p:dataTable var="item" value="#{bean.items}">
<p:column>
<p:row>
<p:column>
<h:outputText value="#{item.title}" />
</p:column>
<p:column>
<h:outputText value="#{item.shortText}" />
</p:column>
</p:row>
<p:row>
<p:column colspan="2">
<h:outputText value="#{item.longText}" />
</p:column>
</p:row>
</p:column>
</p:dataTable>
但显然这是错误的和/或我误解了使用&#39; p:row&#39;的概念。我找不到任何关于如何正确做到这一点的解释,所以任何建议都会受到赞赏。
答案 0 :(得分:5)
为什么不想使用可以轻松实现此功能的<p:panelGrid>
组件?
基本示例:
<p:panelGrid>
<p:row>
<p:column>Text 1 from entry</p:column>
<p:column>Text 2 from entry</p:column>
</p:row>
<p:row>
<p:column colspan="2">Text 3 from entry</p:column>
</p:row>
</p:panelGrid>
嵌入式,我们有:
<p:dataTable var="item" value="#{bean.items}">
<p:column>
<p:panelGrid>
<p:row>
<p:column><h:outputText value="#{item.title}" /></p:column>
<p:column><h:outputText value="#{item.shortText}" /></p:column>
</p:row>
<p:row>
<p:column colspan="2"><h:outputText value="#{item.longText}" /></p:column>
</p:row>
</p:panelGrid>
</p:column>
</p:dataTable>