2014-10-03 45 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