easyUI datagrid 清空
阿新 • • 發佈:2017-07-28
系統 bar 使用 原因 應該 測試 一次 什麽 []
轉自: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 清空