2016-09-04 3 views
0

Ext js имеет встроенную функцию для грид-магазина, называемого фильтром, и который фильтрует сетку с выбранным значением из combobox.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. Если весело возвращение верны для звукозаписывающих А, то рекорда будет включен в хранилище.
  2. Если fun возвращает false для записи B, запись B будет исключена.
Смежные вопросы