easyUI datagrid 清空

Posted 像艳遇一样忧伤c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyUI datagrid 清空相关的知识,希望对你有一定的参考价值。

转自:http://www.cnblogs.com/heioray/p/5016763.html

做一个管理系统,出于一些需要,经常要将一些datagrid清空。然后easyUI本身并没有自带的方法,然后自己动手丰衣足食吧。

清空无外乎两种思路,删除现有数据和填充空数据。

1.删除数据

复制代码
            var rows = $(id).datagrid(\'getRows\');
            for(var i=rows.length-1;i>=0;i--){
                var index = $(\'#dg_careersystem\').datagrid(\'getRowIndex\', rows[i]);  
                console.log("i="+i+"&index="+index);
                $(id).datagrid(\'deleteRow\',index);
            }
复制代码

之前在写这种方法的时候写成了下面的样子,简单轻便

            var rows = $(id).datagrid(\'getRows\');
            for(var i=rows.length-1;i>=0;i--){
                $(id).datagrid(\'deleteRow\',i);
            }

理论上来说,这两个应该是没有什么区别的,毕竟index和i其实是没啥区别的,各种测试验证,两个值也都是一致。但是有时候经常会出现一些无法全部删除的情况。因此又换成了上面的写法。原因至今。。。额。。。还没想明白。。。哪位大侠如果知道请指教一下小弟~~

还有一个,下面的代码也产生了一样的问题,有时不能一次性完全清空

            var rows = $(id).datagrid(\'getRows\');
            for(var i=0;i<rows.length;i++){
                $(id).datagrid(\'deleteRow\',0);
            }

自己分析觉得可能是,每次都删除第一行,删除后datagrid要重新计算index,然后两者出现了冲突导致删除不能继续。。。不知道是不是这个原因。。。后面再测试一下找找原因,弄明白了再贴过来。如果有路过的大侠知道的,求指教啊!

2.填充空数据

这个就简单了,一行代码结束战斗。使用datagrid自带的loadData方法即可

(\'#dg_careersystem\').datagrid(\'loadData\',{total:0,rows:[]})

total:0舍弃也是可以的,毕竟不是每一个datagrid都需要做分页的。

以上是关于easyUI datagrid 清空的主要内容,如果未能解决你的问题,请参考以下文章

关于easyui加载datagrid数据的问题

easyui datagrid页面序号框怎么变宽

easyui中datagrid的字体颜色为题

求教easyui datagrid如何动态生成列

easyui datagrid 单元格关闭编辑框再开启编辑框就报错

easyui datagrid 数据绑定 java