jqGrid的treegrid的bug修复
来源:互联网 发布:亚瑟士 知乎 编辑:程序博客网 时间:2024/05/21 09:13
刚开始使用jqGrid,就碰到了难题。想把列表做成树形的treegrid,在网上查了下jqgrid也正好有这个方法,但是使用的过程中发现个问题,就是传入的数据顺序如果不是一棵树一棵树的排列好的,就会出现节点排序错乱的问题,比如这个树的节点跑到另外一棵树的后面。在官网上面找了好多资料,也没有人说过这个问题,可能没什么人用,也有可能是我使用错误了吧,如果是我使用错误了,官网例子也会出现这个问题。我也不管是我的操作错还是真的bug了,我自己在源码中修改了下。
先说明下我使用的是jqGrid 4.6的版本,后面有修改后的插件
在jqGrid.src 1577行中增加了
<span style="white-space:pre"></span>/* 增加了给树排序的代码 */ var tempRowData = []; var count = -1; for (var i = 0; i < rowData.length; i++) { //把数据分成树的节点单位 if (rowData[i].match('<tr')) { count++; tempRowData[count] = ""; } tempRowData[count] += rowData[i]; } var data = ''; for (var i = 0; i < tempRowData.length; i++) { if (ts.p.data[i].pid == null) { var dataArry = new Array(); dataArry[0] = tempRowData[i]; sortLeaf(dataArry, tempRowData, ts.p.data, ts.p.data[i].id); //依次排列出树的节点 data += dataArry.join(''); } } // $("#" + $.jgrid.jqID(ts.p.id) + " tbody:first").append(rowData.join(''));原来代码 $("#" + $.jgrid.jqID(ts.p.id) + " tbody:first").append(data);在12655行中增加了
/* 依次查找出树的节点,dataArray是返回数据,tempRowData是树的节点数据,ts包含了树的据节点信息,parentId是父节点 */function sortLeaf(dataArray, tempRowData, node, parentId) { for (var i = 0; i < node.length; i++) { if (node[i].pid == parentId) { dataArray[dataArray.length] = tempRowData[i]; sortLeaf(dataArray, tempRowData, node, node[i].id); } }}
这里需要注意的是,因为我在插件中增加了新的方法,所以在jqGrid方法中的colmodel方法和colName方法中必须要加上id和parentId。
插件下载链接:http://download.csdn.net/detail/qq805911956/9515640
5 0
- jqGrid的treegrid的bug修复
- jqGrid的treegrid的bug修复
- jqGrid的树形表格:treeGrid
- 关于jqgrid下treeGrid的插件配置
- jqGrid的樹形表格:treeGrid
- 测试jqGrid的TreeGrid,使用左右值树的方式
- jqgrid treegrid
- bug的修复
- 修复bug的思考
- 一个nullPointer bug的修复
- jqGrid之treeGrid
- treeGrid的使用方法
- TreeGrid的属性介绍
- ExtJS TreeGrid的用法
- easyUI treegrid的使用
- jQWidgets的TreeGrid 心得:
- 二 TreeGrid的绑定
- EasyUI的TreeGrid应用
- POJ-Crazy tea party,很好的一道数学题~~~
- GIMP
- java_web Servlet第一课
- uCOS的软件定时器
- 将Eclipse代码导入到AndroidStudio的两种方式
- jqGrid的treegrid的bug修复
- 表单 Input 特效
- 【人力资源】--- select下拉框
- virtio后端方案vhost
- 常用原生JS方法总结(兼容性写法)
- 电商网站分类导航效果--CSS实现(二) 二级菜单
- 第八周项目3—指向学生类的指针(2)
- 西门子SIMATIC控制器爆2漏洞
- Java并发编程:synchronized