2013-11-26 3 views
0

기본적으로는 http://mleibman.github.io/SlickGrid/examples/example-header-row.html 만 변경 I 만들어 주어 거의 동일한 예이다slickgrid 필터링 쇼 잘못된 행

주먹 그 필터

if(args.column.id == 'name' || args.column.id == 'contract'){ 
     var s = $("<input type='text'>"); 
     s.data('columndata', args.column.id) 
     .val(columnFilters[args.column.id]) 
     .appendTo(args.node); 
    }; 

으로 몇 열이인가된다 번째 차이 데이터 인은 구성중인 DataView에 삽입되지 않습니다. json 형식으로 데이터를로드 한 다음 DataView.setItems를 사용하여 DataView에 데이터 배열을 주입하는 ajax 호출이 있습니다.

필자가 세 번째로 변경 한 사항은 필터가 행, 열, 정확하게 일치하지 않는지 확인합니다.

function filter(item){ 
for(var columnId in columnFilters){ 
    if(columnId != undefined && columnFilters[columnId] != ''){ 
    var c = obj.grid.getColumns()[obj.grid.getColumnIndex(columnId)]; 
    var value1 = item[c.field].toUpperCase(); 
    var value2 = columnFilters[columnId].toUpperCase(); 
    if(value1.indexOf(value2)==-1){ 
     return false; 
    }; 
    }; 
}; 
return true; 
}; 

일반적으로 필터가 작동합니다. 심지어 올바르게 필터링됩니다. 2 개의 항목 (행)이있는 경우 'herb'이라고 말하면 필터는 2 행을 찾습니다.

하지만 2 개의 행을 찾았으므로 2 개의 첫 번째 행이 표시됩니다.

이렇게하면됩니다. 필터가 N 개의 올바른 값을 찾으면 첫 번째 N 개의 행을 표시합니다.

나는 디버그 DataView를 시도했다, 그러나 행이 발견 된 PARAM에게 문제의

답변

0

위치와 일치하지 않는 행 번호를 금액에만 작동합니다. 잘못된 항목을 반환 한 getItem() 메서드를 잘못 재정의했습니다. 행 번호가 전달되었습니다.