我在我的SEM应用中拥有分类和课程树。 课程可能积极、不活跃。 我只想在树中展示积极或所有课程。
我先决定永远在我的PAGE部分建造完整的树木,因为建造这一树是昂贵的。 我在Node<的树木、T>所收集的数据中拥有 flag光灯。 现在,只有这一旗帜是真实的,我才能找到显示课程节点的方法。
我通过以下法典取得了最佳成果:
<h:outputLabel for="showInactiveCheckbox" value="show all courses: "/>
<h:selectBooleanCheckbox id="showInactiveCheckbox" value="#{categoryTreeEditorModel.showAllCoursesInTree}">
<a4j:support event="onchange" reRender="categoryTree"/>
</h:selectBooleanCheckbox>
<rich:tree id="categoryTree" value="#{categoryTree}" var="item" switchType="ajax"
ajaxSubmitSelection="true" reRender="categoryTree,controls"
adviseNodeOpened="#{categoryTreeActions.adviseRootOpened}"
nodeSelectListener="#{categoryTreeActions.processSelection}"
nodeFace="#{item.typeName}">
<rich:treeNode type="Category" icon="..." iconLeaf="...">
<h:outputText value="#{item.title}"/>
</rich:treeNode>
<rich:treeNode type="Course" icon="..." iconLeaf="..."
rendered="#{item.courseActive or categoryTreeEditorModel.showAllCoursesInTree}">
<h:outputText rendered="#{item.courseActive}" value="#{item.title}"/>
<h:outputText rendered="#{not item.courseActive}" value="#{item.title}" style="color:#{a4jSkin.inactiveTextColor}"/>
</rich:treeNode>
</rich:tree>
唯一的问题是,如果某一节点没有列入任何富点:树林 更不用说,它只是用标语获得的称号,而用的是标语。
是否有任何人知道如何根据某种条件在Richfases树中展示某些节点?
Update
为了更好地了解我试图做些什么,我可以举一个简单的例子:
我很想知道,我有档案系统,有档案和目录,而且有正常和隐蔽的档案(在我的案件中,我没有隐藏的目录,但并不重要)。
我想一读档案和目录,在模型中储存树木(org.richfaces.model)。 Node, 然后能够在一页上只显示目录,只有目录,而不是在另一页的缺席时隐藏档案,有可能用该页的核对箱显示所有档案和目录。
enough: 1. 表面上的元件,因为如果有的话,在任何已丰富的财富中都没有提及。 不使用缺省词和所有权。 人们可能想到的是富人:树不喜欢只增加底象:,只添加某些类型,但不是造成噪音的因素。