我在rich:datatable中有一组列,这些列是基于某些预处理条件可见的。我想做的一个例子是:
<rich:datatable value="tableList" var="list">
<h:panelGroup rendered="#{condition}">
<rich:column>
Component
<rich:column>
<rich:column>
Component
<rich:column>
</h:panelGroup>
<h:panelGroup rendered="#{not condition}">
<rich:column>
Component
</rich:column>
</h:panelGroup>
</rich:datatable>
这里的问题是panelGroup标签永远不会在rich:datatable中呈现,即使我删除了“呈现”条件。我尝试使用a4j:outputPanel和其他一些但没有工作。
我可以删除面板并将条件放在每一列中,但这将是我要做的最后一件事。
为什么不工作?问候。
答案 0 :(得分:0)
事实上,我非常确定<rich:dataTable>
会忽略任何不是UIColumn
或Column
对象的直接孩子(我只是看看org.richfaces.component.ColumnsIterator
,由UIDataTable
使用。
换句话说,<h:panelGroup>
只会被<rich:dataTable>
忽略,无论rendered
属性值是什么。
为了解决您的问题,我看到了三个解决方案:
rendered
; <rich:column>
属性
<rich:columnGroup>
组件; <rich:dataTable>
,一个展示位置#{condition}
评估为true
,另一个展示位置为false
。