SmartGWT TreeGrid的叶子节点不显示文件夹图标以展开它们

时间:2011-05-19 07:38:36

标签: icons directory smartgwt expand treegrid

我需要在使用文件夹的“+”符号展开树节点的子记录时获取它。如果任何特定节点没有孩子,则“+”符号应该消失。此要求类似于link

中的要求

但有些方法对我不起作用。只有父节点显示文件夹,子节点不默认为文件夹。以下是我正在使用的代码。我复制了上面链接中的代码。唯一的变化是用树节点替换数据源。

public void onModuleLoad()
    {
        Tree adminTree = new Tree();
        adminTree.setID("adminTreeId");
        adminTree.setModelType(TreeModelType.PARENT);
        adminTree.setRootValue("/");
        adminTree.setAutoOpenRoot(true);

        TreeGrid adminTreeGrid = new TreeGrid();  
        adminTreeGrid.setWidth(500);  
        adminTreeGrid.setHeight(400);  
        adminTreeGrid.setShowOpenIcons(false);  
        adminTreeGrid.setShowDropIcons(false);  
        //adminTreeGrid.setClosedIconSuffix("");  
        adminTreeGrid.setAutoFetchData(true);  
        adminTreeGrid.setData(adminTree);  

        TreeNode treeNode1 = new TreeNode();
        treeNode1.setTitle("Node 1");
        treeNode1.setID("node1");

        TreeNode treeNode2 = new TreeNode();
        treeNode2.setTitle("Node 2");
        treeNode2.setID("node2");

        TreeNode treeNode3 = new TreeNode();
        treeNode3.setTitle("Node 3");
        treeNode3.setID("node3");

        TreeNode treeNode4 = new TreeNode();
        treeNode4.setTitle("Node 4");
        treeNode4.setID("node4");

        adminTree.add(treeNode1, "/");
        adminTree.add(treeNode2, "/");
        adminTree.add(treeNode3, treeNode1);
        adminTree.add(treeNode4, treeNode2);

        adminTreeGrid.draw();       
    }

“节点1”和“节点2”显示带有“+”符号的文件夹,但“节点3”和“节点4”未显示给出扩展它们的选项。

如果我错过了什么,请帮忙。

谢谢, Vamsi

2 个答案:

答案 0 :(得分:5)

默认情况下,对每个节点使用setIsFolder(true)解决此问题,并使其对于叶节点为false。如果有人需要示例代码,请告诉我。

答案 1 :(得分:1)

认为您可能需要使用“getCanDropOnLeaves(true)”

API Link for TreeGrid