1 在页面中把VO以Tree组件展现
2 在<af:tree>的contextMenu中加组件,如图:
3 编写新增或删除代码,现以删除为例,在commandMenuItem中加入删除事件onTreeNodeDelete
public void onTreeNodeDelete(ActionEvent actionEvent) {
RichTree tree = this.getTreeHandler();
RowKeySet rks = tree.getSelectedRowKeys();
Iterator rksIterator = rks.iterator();
CollectionModel model = (CollectionModel) tree.getValue();
JUCtrlHierBinding treeBinding = (JUCtrlHierBinding) model.getWrappedData();
while(rksIterator.hasNext()){
List nodeKey = (List) rksIterator.next();
JUCtrlHierNodeBinding node = treeBinding.findNodeByKeyPath(nodeKey);
Row rw = node.getRow();
rw.remove();
}
if(rks.size() > 0){
AdfFacesContext adfFacesContext =
AdfFacesContext.getCurrentInstance();
adfFacesContext.addPartialTarget(tree);
}
}