2014-10-03 4 views
1

나는 로컬 데이터를 삭제 한 기능 :있는 jqGrid refreshIndex() 메소드

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

:이 호출 후 _index를 검색하고있는 것으로 나타났습니다

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

_index에 삭제 된 행이 계속 포함되어 있습니다.

로컬 데이터 삭제 후 refreshIndex() 호출이 JQGrid 소스를 조사했습니다. 이 것, 내 문제를 해결하기 위해

ts.p._index = []; 
이 나타납니다

: 나는 지수가 제거되지 않습니다 것으로 나타났습니다 아니라 기존의 배열은 덮어 쓰기 :

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; 
     } 

내가 위의 루프 전에 다음의 권리를 추가 문제가 생길까요?

답변

1

나는 당신이 옳다고 생각합니다. 하나는

delete $t.p._index[id]; 

delRowDatathe line을 변경할 수 있습니다 하나는 당신이 제안 정확히 같은 the loop 전에 라인

ts.p._index = []; 

을 추가해야합니다.

trirand에 해당 버그 보고서를 게시해야한다고 생각합니다.

+0

감사합니다. 올렉 (Oleg), 월요일에 일하게 될 때 메모를 남깁니다. –

+0

@RichT .: 환영합니다! – Oleg