你可以使用ChangeExpandListener
的<rich:changeExpandListener>
表示是在节点上展开/折叠事件通知的动作监听器方法。
编辑:
首先changeExpandListener必须delared为属性为<rich:treeNode>
,如果申报entired树的作品,你写(选择事件之后被处理的事件)。 所以:
<rich:tree value="#{simpleTreeBean.treeNode}" var="item" >
<rich:treeNode changeExpandListener="#{simpleTreeBean.processExpansion}">
<h:outputText value="#{item}" />
</rich:treeNode>
</rich:tree>
processExpansion方法必须采用NodeExpandedEvent作为参数,但没有必要实现接口org.richfaces.event.NodeExpandedListener。
public void processExpansion(NodeExpandedEvent evt) {
Object source = evt.getSource();
if (source instanceof HtmlTreeNode) {
UITree tree = ((HtmlTreeNode) source).getUITree();
if (tree == null) {
return;
}
// get the row key i.e. id of the given node.
Object rowKey = tree.getRowKey();
// get the model node of this node.
TreeRowKey key = (TreeRowKey) tree.getRowKey();
TreeState state = (TreeState) tree.getComponentState();
if (state.isExpanded(key)) {
System.out.println(rowKey + " - expanded");
} else {
System.out.println(rowKey + " - collapsed");
}
}
}
这应该有助于
我怎样才能区分扩大崩溃? 我使用客户端崩溃,事件侦听器在提交树时触发 - 例如,在更改选择时。在这一点上,每个展开的节点都有一个事件...到目前为止看不到任何折叠节点。 – 2009-10-05 11:37:01
谢谢!这将有所帮助。 – 2009-10-06 14:24:13