Como carregar meus dados no modo Dynatree?
-
21-12-2019 - |
Pergunta
Estou desenvolvendo um aplicativo web e estou usando o Dynatree para estrutura.
EX:
Node 1
+ Node 1.1
+ Node 1.1.1
+ Node 1.1.2
+ Node 1.1.3
Quero adicionar o nó filho (+Nó 1.1.3.1) nisso, como
Node 1
+ Node 1.1
+ Node 1.1.1
+ Node 1.1.2
+ Node 1.1.3
+ Node 1.1.3.1
E peguei meus dados no formato json e meu código está seguindo
var treeData = [];
var selKeys=[];
var key=0;
$(function(){
//alert(roleName);
$("#tree2").dynatree({
checkbox: true,
selectMode: 3,
children: treeData,
minExpandLevel: 2
});
$.ajax({
url: "http://localhost:8080/collection-ui/api/permissions/findall",
success: function( treeData ) {
var tree = $("#tree2").dynatree("getTree");
var rootNode = $("#tree2").dynatree("getRoot");
var TopRoot = rootNode.addChild({
title: 'Select All',
tooltip:'Select All'
});
$.each(treeData, function(key, val){
var ParentId = val['parentId'];
if(ParentId == 0)
{
key=val['permissionId'];
var childNode = TopRoot.addChild({
key: val['permissionId'],
title: val['permissionName'],
tooltip:val['permissionName']
});
}else{
var node = tree.getNodeByKey("ParentId");
node.addChild({
key: val['permissionId'],
title: val['permissionName']
tooltip:val['permissionName']
});
}
});
}
}) ;
Mas a outra parte do meu código não está funcionando corretamente. Há algo errado?Quando executo este programa, ele aparece como "node is null" Por favor, ajude alguém ...
Solução
Você esqueceu uma vírgula aqui
title: val['permissionName']
tooltip:val['permissionName']
Deveria estar
title: val['permissionName'],
tooltip:val['permissionName']
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow