2016-09-04 7 views
0

Ext js는 filter라는 Grid 저장소에 대해 내장 함수를 가지고 있으며 콤보 상자에서 선택된 값으로 그리드 결과를 필터링합니다.extjs - 콤보 상자에서 선택된 값을 제외한 모눈 데이터를 필터링하는 방법

그 반대입니다. 선택한 데이터를 제외한 모눈 데이터를 필터링해야합니다.

예 : 기본적으로 모든 확인란이 처음 선택됩니다. 격자 대신 확인란을 선택 취소하면 선택한 확인란을 제외한 데이터가 표시됩니다.

Please find screenshot for filter options

다음

내가 시도 코드이지만 선택 체크 박스와 필터 그리드 않습니다.

var filterArray = []; 

filterArray.push({ 
        id: 'h2', 
        property: 'vehicle_trafic_light', 
        value: 'Y',  //For Yellow-Ball 
        anyMatch: true, 
        ensitive: false 
       }); 
filterArray.push({ 
        id: 'h2', 
        property: 'vehicle_trafic_light', 
        value: 'G',  //For Green-Ball 
        anyMatch: true, 
        ensitive: false 
       }); 

store.filter(filterArray); 

누군가에게 의견이 있으면 알려주십시오.

답변

1

당신 사용자 수 filterBy 함수를 취 인수 및 기능 재미가 저장소에있는 각 레코드에 대해 불리는 (호출이 재미 있습니다) filterBy

.

store.fliterBy(function(record){ 
     if(condition to include record) 
      return true;     // record will be included 
     else 
      return false;     // record will be excluded 
}); 

해당 레코드의 재미 값에 따라 레코드가 필터링됩니다.

그래서,

  1. 기록 A에 대한 재미 반환 true의 경우, 다음 기록은 저장소에 포함됩니다.
  2. 재미가 레코드 B에 대해 false를 반환하면 레코드 B가 제외됩니다.
관련 문제