zoukankan      html  css  js  c++  java
  • easyUI datagrid 清空

    最近在做一个管理系统,出于一些需要,经常要将一些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都需要做分页的。

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

  • 相关阅读:
    DM数据库disql的使用 Disql disql 达梦数据库Disql
    移动端禁止蒙层下的页面滚动
    移动端如何自动适配px
    使用Vant做移动端对图片预览ImagePreview和List的理解
    uniapp中使用uView组件库
    h5使用vuephotopreview 做全屏预览
    jsonview的实现
    PC端自适应使用rem 移动端适配升级版
    axios解决跨域问题(vuecli3.0)
    vs code 配置git path
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/7575336.html
Copyright © 2011-2022 走看看