【发布时间】:2011-05-15 15:56:42
【问题描述】:
请考虑以下富人脸树示例:
<rich:tree switchType="ajax">
<rich:treeNodesAdaptor id="officeNodeAdaptor" nodes="#{officesBean.offices}" var="office" >
<rich:treeNode changeExpandListener="#{office.loadEmplyeesIfNeeded}" >
<h:outputText value="#{office.name}" />
</rich:treeNode>
<rich:treeNodesAdaptor id="employeeNodeAdaptor" nodes="#{office.employees}" var="employee">
<rich:treeNode>
<h:outputText value="#{employee.name}" />
</rich:treeNode>
</rich:treeNodesAdaptor>
这是表示“办公室 --> 员工”数据结构的示例树。 我想以惰性方式加载员工 - 所以我引入了 loadEmplyeesIfNeeded 扩展侦听器。 除了一件事,一切都很好。员工是在办公室节点展开后加载的。所以当树被渲染时,所有办公室都没有任何员工,并被渲染为叶子。当然叶子不能展开......
使长存储短。尽管没有孩子,有什么方法可以设置节点应该呈现为节点(有可能扩展)? 最好是如果 rich:treeNode 有一些属性,比如 isNode 但它没有..
顺便说一句。我可以通过在办公室初始化时向每个办公室添加一个假员工来解决它。但这不是很好的解决方法......
提前感谢您的帮助。
【问题讨论】: