2014-10-03 48 views
1

我有本地数据删除功能:的jqGrid refreshIndex()本地数据不清除以前的指数阵列方法

$.each(rowids, function() { // - delete selected rows 
       $grid.delRowData(this); 
      }); 

我注意到,这个电话后,做检索_index:

var xref = $grid.jqGrid('getGridParam', '_index'); 

的_index仍然包含已删除的行。

我查看了JQGrid源代码,在删除了本地数据后,调用了refreshIndex()。我注意到,该指数不除,而是现有的阵列将被覆盖:

for (i = 0; i < datalen; i++) { 
      val = $.jgrid.getAccessor(ts.p.data[i], idname); 
      if (val === undefined) { val = String(i + 1); } 
      ts.p._index[val] = i; 
     } 

添加以下正上方循环之前:

ts.p._index = []; 

这似乎解决我的问题,这还导致问题?

回答

1

我认为你是对的。人们可以改变的delRowDatathe line

delete $t.p._index[id]; 

和一个应该the loop酷似你的建议之前添加一行

ts.p._index = []; 

我想你应该发布相应的错误报告trirand

+0

谢谢奥列格,周一我上班时我会发贴。 – 2014-10-04 02:55:37

+0

@RichT .:不客气! – Oleg 2014-10-04 07:47:47