Конечные / дочерние узлы древовидной сетки SmartGWT не отображают значок папки для их расширения

#icons #directory #smartgwt #expand #treegrid

#Значки #каталог #smartgwt #Развернуть #древовидная сетка

Вопрос:

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

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

public void onModuleLoad()
 {
 Дерево adminTree = новое дерево(); 
 adminTree.setID("adminTreeId");
 adminTree.setModelType (тип дерева.РОДИТЕЛЬСКИЙ);
 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 = новый TreeNode(); 
 treeNode1.setTitle("Узел 1");
 treeNode1.setID("node1");

 TreeNode treeNode2 = новый TreeNode(); 
 treeNode2.setTitle("Узел 2");
 treeNode2.setID("node2");

 TreeNode treeNode3 = новый TreeNode(); 
 treeNode3.setTitle("Узел 3");
 treeNode3.setID("node3");

 TreeNode treeNode4 = новый TreeNode(); 
 treeNode4.setTitle("Узел 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

Ответ №1:

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

Ответ №2:

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

Ссылка на API для TreeGrid