jeasyUI的treegrid批量删除多行
看上去,javascript的變量類型,也可以分為值類型和引用類型。賦值操作中,值類型,各自獨(dú)立,互不干涉;引用類型,指針而已,大家指向同一個(gè)對(duì)象。
為什么這樣說(shuō)呢?
我是從jeasyUI的treegrid批量刪除多行操作中知道的。
treegrid中批量刪除多行,首先要獲得選中的那些行:
var rows = _grid.treegrid('getSelections');
然后遍歷之,刪除之
for (var i = 0; i < rows.length; i++) {
? ? var id = rows[i].id;
? ? _grid.treegrid('remove', id);
}
結(jié)果總剩下一些沒刪。
究其原因,就是因?yàn)閞ows是個(gè)引用類型,它指向了那些行,結(jié)果刪掉一行,rows.length就減1,最后循環(huán)很快就結(jié)束了。這跟以前C#下,遍歷刪除DataTable里的記錄一個(gè)樣。
知道原因后,修正也簡(jiǎn)單:先將rows里的id取出來(lái),存到數(shù)組里,數(shù)組是值類型,然后遍歷該數(shù)組,刪除:
//var _grid = $("treegridDemo"); var rows = _grid.treegrid('getSelections'); var ids = new Array(); for (var i = 0; i < rows.length; i++) {ids[i] = rows[i].id; } for (var i = 0; i < ids.length; i++) {_grid.treegrid('remove', ids[i]); } _grid.treegrid('reloadFooter');轉(zhuǎn)載于:https://www.cnblogs.com/leftfist/p/4257812.html
總結(jié)
以上是生活随笔為你收集整理的jeasyUI的treegrid批量删除多行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: row_number() OVER(PA
- 下一篇: 超全局变量