如何在没有孩子的情况下仅选择父节点(在复选框p:树中)?默认情况下,孩子也会被选中,我想要避免。所以问题是,我不能选择父节点而不选择子节点。
有解决方案吗?也许用方法?
谢谢!
这是我的代码:
<h:form id="selectCategoryForm">
<p:tree id="categoryTree" value="#{bean.categories}" var="node" selectionMode="checkbox" selection="#{bean.selectedCategories}" >
<p:treeNode>
<h:outputText value="#{node.path}" escape="false"/>
</p:treeNode>
</p:tree>
</h:form>
答案 0 :(得分:1)
在treetable上设置propagateSelectionDown="false"
以禁用树下的选择传播
答案 1 :(得分:0)
您可以使用:
<h:form id="selectCategoryForm">
<p:tree id="categoryTree" value="#{bean.categories}" var="node" selectionMode="checkbox" selection="#{bean.selectedCategories}" >
<p:ajax event="select" listener="#{bean.onNodeSelect}" update="@this"/>
<p:treeNode>
<h:outputText value="#{node.path}" escape="false"/>
</p:treeNode>
</p:tree>
</h:form>
并在bean上:
public void onNodeSelect(NodeSelectEvent event) {
TreeNode treeNode = event.getTreeNode();
TreeNode parentTreeNode = treeNode.getParent();
parentTreeNode.setSelected(true);
}