2013-12-20 2 views
1

The Fiddle , 나는 SlickGrid 마녀를 Ajax로 채우고 하나의 열에서 검색 할 수 있습니다. SlickGrid의 example에서 잘 설명되어 있습니다. 이제 맞춤 필터를 만들고 싶습니다. 이 필터는 텍스트 필드이며 여러 열을 검색 할 수 있습니다. (모든 열은 실제로) 코드는 here입니다. 이것은 내가 가지고있는 코드 :여러 열에서 SlickGrid 필터링 (JSFiddle 사용)

grid = new Slick.Grid("#myGrid", dataView, columns, options); 

    $('#txtSearch').keyup(function (e) { 
     var searchList = $.trim(this.value.toLowerCase()).split(' '); 
     dataView.setFilter(gridFilter); 
     grid.invalidate(); 
     this.focus(); 
    }); 

    function gridFilter(rec) { 
     var found; 
     for (i = 0; i < gridSearchList.length; i += 1) { 
      found = false; 
      $.each(rec, function (obj, objValue) { 
       if (typeof objValue !== 'undefined' && objValue != null 
       && objValue.toString().toLowerCase().indexOf(gridSearchList[i]) != -1) { 
        found = true; 
        return false; //this breaks the $.each loop 
       } 
      }); 
      if (!found) { 
       return false; 
      } 
     } 

     return true; 
    } 

현재 나는 "catch되지 않은 구문 에러 : 정의되지 않은 라벨 '_coreloop'"지고있어 나는 .setFilter을하려고 할 때 slick.dataview.js 파일을(). 코드가 잘못되었을 수 있습니까? 변수 gridSearchList는 Ajax에서 얻은 데이터 (배열)입니다. 감사합니다.

+0

hmmm 바이올린이 myGrid를 찾지 못하는 것 같습니다. 이것은 내가 솔루션에있는 문제가 아닙니다. 나는 이것을 조사하고있다! – Freddy

답변

2

필터 코드가 SlickGrid의 필터 인라이닝과 호환되지 않는 것으로 보입니다. DataView에서 해제하십시오.