easyUI中的treegrid如何支持大数据量的展示,不分页。像它的datagrid一样
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyUI中的treegrid如何支持大数据量的展示,不分页。像它的datagrid一样相关的知识,希望对你有一定的参考价值。
easyUI中的treegrid如何支持大数据量的展示,不分页。像它的datagrid一样可以支持百万级的数据展示。它实现的原理其实是动态渲染指定高度的列。如50行。并且还要支持全选,与记忆选中行的功能。
treegrid不是继承datagrid吗?Drag and Drop Rows in TreeGrid <table title="Folder Browser" data-options=" view:scrollview, data: data, rownumbers: true, singleSelect:true, autoRowHeight:false, pageSize:20, idField: \'id\', treeField: \'name\', onLoadSuccess: function(row) $(this).treegrid(\'enableDnd\', row?row.id:null); "> <thead> <tr> <th data-options="field:\'name\'" >Name</th> <th data-options="field:\'size\'" align="right">Size</th> <th data-options="field:\'date\'" >Modified Date</th> </tr> </thead> </table>以是这种写法,数据不加载。如果把 view:scrollview去掉,数据可以加载。难道我得重写datagrid-scrollview.js这个js方法? 参考技术A treegrid不是继承datagrid吗?Drag and Drop Rows in TreeGrid <table title="Folder Browser" data-options=" view:scrollview, data: data, rownumbers: true, singleSelect:true, autoRowHeight:false, pageSize:20, idField: 'id', treeField: 'name', onLoadSuccess: function(row) $(this).treegrid('enableDnd', row?row.id:null); "> <thead> <tr> <th data-options="field:'name'" width="220">Name</th> <th data-options="field:'size'" width="150" align="right">Size</th> <th data-options="field:'date'" width="200">Modified Date</th> </tr> </thead> </table>以是这种写法,数据不加载。如果把 view:scrollview去掉,数据可以加载。难道我得重写datagrid-scrollview.js这个js方法? 查看更多答案>>本回答被提问者采纳easyui treegrid 如何默认节点展开第一级?
参考技术A 绑定数据的时候把node.state值设置为open 或者 数据加载完毕后,调用expandAll方法,展开所有节点.用法:tg.treegrid("expandAll");本回答被提问者和网友采纳 参考技术B tree 的默认展示第一级onLoadSuccess: function (node, data)
//默认展开到市
var roots= $("#knowledgeType_roleFuncTree").tree('getRoots'),children=null,i,j;
for(i=0;i<roots.length;i++)
$("#knowledgeType_roleFuncTree").tree('expand', roots[i].target);
如上参考:http://a475334705.iteye.com/blog/2205741
combotree 默认展示第一级:
onLoadSuccess : function(node, data)
//默认展开到下级
var t = $("#warehouse_search_distric").combotree('tree');
t.tree('collapseAll');
var childObj = t.tree('getChildren');
var node = t.tree('find', childObj[0].id);
t.tree('expand', node.target);
//我没用过treegrid,所以蛮写,你们自己参考的时候,要明确点是,数据格式怎么样
//两种数据格式:
//1.格式如下:(有且只有一个共同父节点,比如一个省默认展示到市级)
// 福建省
// 福州市
// 厦门市
// 莆田市
// 漳州市
var node = $("#tt").treegrid("find","福建省的id");
$("#tt").treegrid("expand",node.target);
//2.另外一种格式,有多个父节点,多个省,默认展示到市级
// 福建省
// 福州市
// 厦门市
// 莆田市
// 漳州市
// ...
// 广东省
// 广州
// 汕头
// 梅州
// ...
//这种情况下,其实就是第一个类型的多个,你只要for循环下就可以。
//分别找到福建省、广东省等id 你可以放在一个数组里面
//然后通过 for 循环
var node = $("#tt").treegrid("find",各个id);
$("#tt").treegrid("expand",node.target);
PS.
哦,今天无聊逛自己回答,发现自己以前回答有问题,就过来完善下,
省的被后面参考的人喷。= = 对了,仅供参考,要是敢喷我,我提着杀猪刀宰了你们我跟你们说!!
默认展开第几级其实就是expand他的父节点( "expand ",node.target)。
node通过find找到;
看API、API!!!诶屁哎!!
以上是关于easyUI中的treegrid如何支持大数据量的展示,不分页。像它的datagrid一样的主要内容,如果未能解决你的问题,请参考以下文章
“jquery easyui treegrid”如何获取所有选择的节点?
easyui-treegrid如何在点击展开树节点的时候才进行数据查询获取该节点下的子节点求大神帮助