easyui的tree和treegrid的数据格式和相互转化

tree和treegrid的加载数据都会调用loadFilter函数返回的结果集合:

treegrid:

loadFilter: function(data,parent){
     if(parent){
		return data;
	 }else{
		var value={
			total:data.total,
			rows:data.treeNodeList
		};
		return value;
	 }
},

treegri加载的数据格式是rows和total的格式

tree:

loadFilter:function(data,parent){
	if (parent){
		return dispTreeNode(data);
	}
	for(var i=0;i<data.length;i++){
		var node=data[i];
		node["state"]="closed";			
	}
	return data;
},

tree加载的数据就是一个数组,可以在这个里面处理tree要加载的数据,设定树tree节点的展开或者关闭状态

tree和treegrid的数据加载可以互换,如下:

后台返回数据格式,即data:

162025_40oK_2331760.png

例如:treegrid结构改成tree结构:

loadFilter: function(data,parent){
	debugger;
	if(parent){
		return data;
	}else{
		var value={
//						total:data.total,
				rows:data.treeNodeList
		};
		return value;
	}
},

因为tree的数据只要是一个对象构成的数据就可以了,所以取data里面的treeNodeList即可

如图:

162131_VJvH_2331760.png

treegrid可以加载的数据格式为:rows和total构成的JSON对象,也可有是一个数组,

例如:和上面tree一样的loadFilter函数,返回值为node.treeNodeList,即一个数组,也能够显示treegrid结构来:

162314_f3TC_2331760.png

因为tree传递的参数不支持分页,所以tree的数据比treegrid的数据要多,treegrid初始化为:

$("#reviewTable").treegrid({//treegrid和tree的相互转化,只要改这个treegrid为tree,或者tree为treegrid即可
	title: '',
    method: "post",
    url:"./iface/findIndexLibTreeNode",
    idField: 'id',
    checkOnSelect:false,
    selectOnCheck:false,
    rownumbers : true,
    treeField: 'text',
    remoteSort: false,
	pagination : false,
	singleSelect:true,
	fit: true,
	fitColumns:true,
	border: false,
    columns: [[
        { field: 'ck', checkbox: true },
		{ field: 'text',
		    width : 240,
		    title: '指标库名称',
		    sortable: false
		 },
    ]],
    enableHeaderClickMenu: false,
    enableHeaderContextMenu: false,
    enableRowContextMenu: false,
    toggleOnClick: false,
    onlyNodeExpand: false,//只展开父节点中的一个子节点
    dataPlain: true,//该属性用以启用当前 easyui-treegrid 控件对平滑数据格式的支持
    pagination : true,
	pageSize: 1,
	pageList: [1,2,3],
    onLoadSuccess: function(row,data) {
    },
    onDblClickRow:function(row){
		if (row.attrs&&row.attrs.url){
			createEasyuiTab($("#mainTab"),row.text,row.attrs.url,"icon-standard-tab");
			}
		},
    loadFilter: function(data,parent){
	    debugger;
	    if(parent){
		    return data;
	    }else{
		    var value={
//				total:data.total,
				rows:data.treeNodeList
		    };
		    return value;
	    }
    },
    onClickRow : function(row) {
    
    },  
});

如果treegrid想分页,还是在loadFilter函数中,设置treegrid加载的格式为rows和total,total表示总记录数,rows表示当前页要加载的记录

 

转载于:https://my.oschina.net/u/2331760/blog/1540556

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值