树复选框选择



如何只选择父节点(在复选框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>

在树表上设置propagateSelectionDown="false"以禁用选择向下传播

您可以使用:

<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>

and on the bean:

public void onNodeSelect(NodeSelectEvent event) {
    TreeNode treeNode = event.getTreeNode();
    TreeNode parentTreeNode = treeNode.getParent();
    parentTreeNode.setSelected(true);
}  

相关内容

  • 没有找到相关文章

最新更新