easyUI datagrid 清空

最近在作一个管理系统,出于一些须要,常常要将一些datagrid清空。而后easyUI自己并无自带的方法,而后本身动手丰衣足食吧。测试

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

1.删除数据code

            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);
            }

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

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

理论上来讲,这两个应该是没有什么区别的,毕竟index和i实际上是没啥区别的,各类测试验证,两个值也都是一致。可是有时候常常会出现一些没法所有删除的状况。所以又换成了上面的写法。缘由至今。。。额。。。还没想明白。。。哪位大侠若是知道请指教一下小弟~~get

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

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

本身分析以为多是,每次都删除第一行,删除后datagrid要从新计算index,而后二者出现了冲突致使删除不能继续。。。不知道是否是这个缘由。。。后面再测试一下找找缘由,弄明白了再贴过来。若是有路过的大侠知道的,求指教啊!class

2.填充空数据效率

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

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

total:0舍弃也是能够的,毕竟不是每个datagrid都须要作分页的。分页

两种方法都不错,随君选择。我的更倾向于第二种,快捷轻便,效率更高。嘿嘿

相关文章
相关标签/搜索