我正在学习primefaces,我想创建一个自定义数据表。我正在尝试为整个列创建一个只有一个commandButton / commandLink的列。 如下所示:
------------------------------
ID | Name | Year | Attachment |
------------------------------
01 | abcd | 2014 | |
------------------
02 | decf | 2014 | ------- |
------------------ |Attach|
03 | desf | 2014 | ------- |
------------------
04 | ffgt | 2014 | |
------------------------------
与columnGroup一样,我们在primefaces中有行组。或者是否有更好的方法,善意的建议。
答案 0 :(得分:0)
将p:columnGroup与rowspan和colspan一起使用。以下链接可以帮助您: http://www.primefaces.org/showcase/ui/data/datatable/subTable.xhtml
答案 1 :(得分:0)
这是PrimeFaces <p:dataTable>
的已知限制,请参阅issue 1316。 rowspan
和colspan
不适用于<p:dataTable>
的数据单元格,它们仅适用于<p:dataTable>
的页眉和页脚。我最近有同样的问题,我使用PrimeFaces的解决方案是使用<p:panelGrid>
然后使用JSTL <c:forEarch>
循环我的数据列表来构建<p:panelGrid>
的JSF组件。例如:
<p:panelGrid>
<f:facet name="header">
<p:row>
<p:column>ID</p:column>
<p:column>Name</p:column>
<p:column>Attach</p:column>
</p:row>
</f:facet>
<c:forEach items="#{myBean.data}" var="item" varStatus="index">
<p:row>
<p:column><h:outputText value="#{item.id}" /></p:column>
<p:column><h:outputText value="#{item.name}" /></p:column>
<p:column rowspan="4" rendered="#{index.count == 1}">
<h:outputText value="Button" />
</p:column>
</p:row>
</c:forEach>
</p:panelGrid>
rowspan
需要与表格中的项目数相匹配。
另一个解决方案是使用支持此功能的不同JSF组件库,如RichFaces。