Конечные / дочерние узлы SmartGWT TreeGrid не показывают значок папки для их расширения - PullRequest
5 голосов
/ 19 мая 2011

У меня есть требование извлекать дочерние записи узла дерева при его расширении, используя знак «+» папки. Если какой-либо конкретный узел не имеет дочерних элементов, знак «+» должен исчезнуть. Это требование аналогично требованию в ссылке

Но кое-что, как это не работает для меня. Только родительский узел показывает папку, а дочерние узлы по умолчанию не являются папками. Ниже приведен код, который я использую. Я скопировал код из ссылки выше. Единственное изменение - замена источника данных узлами дерева.

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 ]

5 голосов
/ 29 июля 2011

Решил это, используя setIsFolder (true) по умолчанию для каждого узла и установив значение false для конечных узлов. Дайте мне знать, если кому-то понадобится пример кода.

1 голос
/ 20 мая 2011

думаю, вам может понадобиться использовать "getCanDropOnLeaves (true)"

Ссылка API для TreeGrid

...