假设我有<p:datatable>
2个静态列和动态列列表.如何仅在动态列上添加标题?
更具体地说,这是它必须如何看待:
-------------------------------------------------------------------------
| | | Header over dynamic columns |
| StaticColumn1 | StaticColumn2 |----------------------------------------
| | | DynamicCol1 | DynamicCol2 | ........ |
-------------------------------------------------------------------------
| | | | | |
-------------------------------------------------------------------------
| | | | | |
-------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我已经尝试过, <p:columnGroup>
但它似乎不支持<p:columns>
.
提前致谢.
vad*_*dim 11
阅读Primefaces文档后,我发现此功能未实现(至少在4.0版本之前),所以我想出了一个解决方法:
<p:dataTable value="#{backedBean.datatableList}" var="datatableRow">
<p:columnGroup type="header">
<p:row>
<p:column rowspan="2" headerText="StaticColumn1"/>
<p:column rowspan="2" headerText="StaticColumn2"/>
<p:column colspan="#{backedBean.listOfDynamicColumns.size()}"
headerText="Header over dynamic columns" />
</p:row>
<p:row>
<c:forEach items="#{backedBean.listOfDynamicColumns}" var="dynamicColumn">
<p:column headerText="#{dynamicColumn.name}" />
</c:forEach>
</p:row>
</p:columnGroup>
<p:column>
#{datatableRow.value1}
</p:column>
<p:column>
#{datatableRow.value2}
</p:column>
<c:forEach items="#{backedBean.listOfDynamicColumns}" var="dynamicColumn">
<p:column>
#{datatableRow[dynamicColumn]}
</p:column>
</c:forEach>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
请注意,我用的<c:forEach>
是一个编译时标签,而不是<ui:repeat>
它是一种渲染时间标记.
归档时间: |
|
查看次数: |
6458 次 |
最近记录: |