欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bootstrap-treeview后端数据树展现

程序员文章站 2022-06-08 10:41:38
...

ajax请求后台

function getKpiTypeTree(){
	rootPath = rootPath ? rootPath : getRootPath();
	$.ajax({
		url: rootPath +"/kpitype/queryKpiTypeForZtree?IS_VALID=1&pid=-1",
		type : "post",
		dataType : "json",
		success : function(result) { 
			buildDomTree(-1,result); 
		},
		error:function(data){
			//alert(data);
		}
	});
}

利用递归将请求的data数据重新封装查treeview的数据格式,然后用treeview的$("#").treeview({})方法展现出来

function buildDomTree(rootNodeId,rootData) {  
    var retData = [];   
    function walk(id, data) {  
          if (!data) {  
                return;  
          }
          for (var q = 0;q<rootData.length;q++){ 
                var childNode = rootData[q];  
                if(childNode.pid == id){  
                      var obj = new Object();
                      obj.id = childNode.id;
                      obj.text = childNode.name;
                      if(childNode.RES_URL){
                      obj.url = childNode.RES_URL;
                      }
                      obj.nodes= [];
                      walk(childNode.id,obj.nodes); 
                      if(obj.nodes.length==0){
                            delete obj.nodes;
                      }
                      data.push(obj);
                }
          } 	  
    } 
    walk(rootNodeId,retData); 
    var str = JSON.stringify(retData);
    console.log(str);
	$("#KipType_tree").treeview({     
        highlightSelected: true,    //是否高亮选中
        backColor: '#E1E6EA',
        showBorder:false,
        emptyIcon:'glyphicon glyphicon-list-alt',
        levels : 1,
        enableLinks : true,
        data:str,
        levels:1      
      });
    return retData;		  
} 

treeview的数据格式是:

bootstrap-treeview后端数据树展现