layui treetable 查询child子节点数据不显示问题处理方法

原创
05/29 17:27
阅读数 291

查询child子节点数据不显示问题,主要问题出在treeSpid这个参数上面,具体参数说明看下面列子,
treeSpid参数我们一般定义 0,-1或者'' 表示最顶级目录,当我们查询的数据的pid不是这几个设置的值,就会造成数据显示不出来,我们怎么办呢?
那就让查询出来的数据符合要求就可以显示出来数据了,操作程序代码如下:

//获取查询数据结果最小pid,list为数据列表
Integer pid  = service.getListMiniPid(Params);
pid =pid !=null?pid:0;
//获取查询数据的所有Id列表
List<Integer> idList = new ArrayList<Integer>();
for(Params ag:list){
	idList.add(ag.getId());
}
//判断pid是否存在ID列表中,不存在,设置数据pid的值为最小值
for(Params ag:list){
	if(null!=ag.getPid()){
		boolean falg = idList.contains(ag.getPid());
		if(!falg){
			ag.setPid(pid);
		}
	}
}
//组装返回数据
Map<String,Object> map = new HashMap();
map.put("list",list);
map.put("pid",pid);
data.setData(map);
//初始化表格,data为传递参数
var renderTable = function (data) {
	layer.load(2);//加载框
	$.get('调用方法?'+data, function (res) {
		treetable.render({
			treeColIndex: 2,//树形图标显示在第几列
			treeSpid: res.data.pid,//最上级的父级id:比如你可以规定pid为0或-1的是最顶级的目录
			treeIdName: 'id',//id字段的名称
			treePidName: 'pid',//pid字段的名称
			treeDefaultClose: false,//是否默认折叠
			treeLinkage: false,//父级展开时是否自动展开所有子级
			elem: '#ZX_table_list',
			height: 'full-115',
			data: res.data.list,
			page: false,
			cols: [[ 
					数据渲染显示字段
					]], 
			done: function () {
				//关闭加载
				layer.closeAll('loading');
			}
		});
	}, 'json');
};

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部