【发布时间】:2014-01-09 08:38:27
【问题描述】:
这个例子我取自Primefaces Showcase Tree Checkbox Selection:
public TreeCheckboxBean() {
root2 = new CheckboxTreeNode("Root", null);
TreeNode node0 = new CheckboxTreeNode("Node 0", root2);
TreeNode node1 = new CheckboxTreeNode("Node 1", root2);
TreeNode node2 = new CheckboxTreeNode("Node 2", root2);
TreeNode node00 = new CheckboxTreeNode("Node 0.0", node0);
TreeNode node01 = new CheckboxTreeNode("Node 0.1", node0);
TreeNode node10 = new CheckboxTreeNode("Node 1.0", node1);
TreeNode node11 = new CheckboxTreeNode("Node 1.1", node1);
TreeNode node000 = new CheckboxTreeNode("Node 0.0.0", node00);
TreeNode node001 = new CheckboxTreeNode("Node 0.0.1", node00);
TreeNode node010 = new CheckboxTreeNode("Node 0.1.0", node01);
TreeNode node100 = new CheckboxTreeNode("Node 1.0.0", node10);
}
public TreeNode[] getSelectedNodes() {
return selectedNodes;
}
public void setSelectedNodes(TreeNode[] selectedNodes) {
this.selectedNodes = selectedNodes;
}
public void displaySelectedMultiple() {
if(selectedNodes != null && selectedNodes.length > 0) {
StringBuilder builder = new StringBuilder();
for(TreeNode node : selectedNodes) {
builder.append(node.getData().toString());
builder.append("<br />");
}
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Selected", builder.toString());
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
从那里我检查子节点 0.1、节点 0.1.0、节点 1.1。当我点击显示选定按钮时,通知只显示上面的节点被选中。
有什么方法可以将节点 0 和节点 1 也包括在内?
所以会变成节点0,节点0.1,节点0.1.0,节点1,节点1.1
仅供参考:我使用的是 Primefaces 4,JSF 2.1.26。
【问题讨论】:
标签: jsf jsf-2 primefaces tree