1

即使对于下面没有子节点的节点,我也会在richTree 中获得默认的加号(+)图标。一旦你点击加号图标就会消失。我需要那个加号图标不要出现在叶节点上,即没有子节点的节点。

<a4j:outputPanel id="productComponentTree">
                <rich:tree id="pcTree" var="pcTreeNode" >
                    <rich:treeModelRecursiveAdaptor id="recTreeAdaptorID" 
                        roots="#{productComponentBean.productComponentList}"
                        nodes="#{pcTreeNode.financialServicesAgreementComponent}">
                        <rich:treeNode  id="treeNodeID" expanded="true"  icon="#{item.toShow?item.icon:'null'}">
                            <h:selectBooleanCheckbox id="treeNodeCheckBox"
                                disabled="#{productComponentBean.disabledCheckBox}"
                                value="#{pcTreeNode.selectedFlag}"
                                onclick="checkUncheckNodes(this);">
                            </h:selectBooleanCheckbox>
                            <h:outputText value="#{pcTreeNode.name}"></h:outputText>
                        </rich:treeNode>
                    </rich:treeModelRecursiveAdaptor>
                </rich:tree>
            </a4j:outputPanel>

以上是树的代码。任何帮助将不胜感激。

4

1 回答 1

0

解决方案非常简单。

只需将标签添加到 treeModelRecursiveAdaptor 即可leaf

<rich:treeModelRecursiveAdaptor id="recTreeAdaptorID" 
                    roots="#{productComponentBean.productComponentList}"
                    nodes="#{pcTreeNode.financialServicesAgreementComponent}"
                    leaf="#{isLeaf(pcTreeNode)}">

和:

public Boolean isLeaf(Node node){
    return (node!=null && (node.children==null || node.children.size()==0));
}
于 2013-04-04T20:46:00.423 回答