Поиск шаблона в Ext JS - PullRequest
       31

Поиск шаблона в Ext JS

2 голосов
/ 13 марта 2012

У меня есть сетка с определенными записями и текстовое поле над ней. Текстовое поле связано с сеткой таким образом, что каждый раз, когда происходит событие keyup, оно переходит к функции фильтра, чтобы показать только те записи, которые содержат символы, набранные пользователем. Проблема в том, что сейчас он совпадает только с начальный символ имени строки записи, однако, он должен фильтровать все записи, содержащие введенные символы в любом месте имени строки записи.

Скриншоты: - http://imgur.com/a/qvIHO

Первое изображение показывает записи, второе показывает отфильтрованные результаты, когда я набираю 'c', третье показывает, что когда я нажимаю 'p', это не возвращает никакого результата, однако я хочу, чтобы он возвращал "Продукты GPL "и" Отчетный период ", так как они оба содержат 'p' в них.

Вот код: -

  onDimensionFilterTextBoxKeyUp: function (filterTxtBox, evntObj, eOpts) {
    var dimStore = this.getDimensionStoreStore();
    //get new value
    var searchValue = filterTxtBox.getValue();
    //var regex = /searchValue*/;
    //clear previous search value
    dimStore.clearFilter();
    if (!Ext.isEmpty(searchValue)) {
        //load filtered data 
        dimStore.filter('DimensionName', searchValue);
    }
  }

Я пытался создать шаблон регулярного выражения, используя / searchValue * /, но с помощью этого просто разбивал фильтр и не возвращал ни одного результата.

Ответы [ 3 ]

3 голосов
/ 13 марта 2012

Попробуйте это:

re = new RegExp(searchValue, ignoreCase ? 'i' : '');
store.filter(field, re);
1 голос
/ 29 января 2014

Я знаю, что приведенные выше ответы старые, но, возможно, может кому-то помочь.

store.filter({ anyMatch: true, exactMatch: false, property: valor_property, value: valor });

1 голос
/ 13 марта 2012

Вам просто нужно указать поиск без учета регистра.

dimStore.filter('DimensionName', searchValue, true, false);
...