Проблема с поиском по списку в сенче - PullRequest
0 голосов
/ 26 августа 2011

Я использую опцию поиска в списке.Предусмотрено добавление новых элементов в список.Проблема в том, что когда я добавляю новый элемент в список, список обновляется, но я не могу искать этот элемент через поле поиска.Но после обновления браузера мы можем.Но невозможно обновлять браузер каждый раз ....... Есть ли решение этой проблемы?

Вот код, который я использую для поиска в списке.

xtype: 'searchfield',
placeHolder: 'Search',
name: 'searchfield',
id:'subListSearch',
listeners : {
scope: this,
'focus': function() {
Ext.getCmp('xbtn').show();

},

keyup: function(field) {

var value = field.getValue();

if (!value) {
Store.filterBy(function() {
return true;
});
} else {

var searches = value.split(' '),
regexps = [],
i;

for (i = 0; i < searches.length; i++) {
if (!searches[i]) return;
regexps.push(new RegExp(searches[i], 'i'));
};

Store.filterBy(function(record) {
var matched = [];

for (i = 0; i < regexps.length; i++) {
var search = regexps[i];

if (record.get('Name').match(search)) matched.push(true);
else matched.push(false);
};

if (regexps.length > 1 && matched.indexOf(false) != -1) {
return false;
} else {
return matched[0];
}
});
}
}
}

Есть и другие проблемы.Я использовал некоторое положение для фильтрации списка.Но когда я использую опцию поиска, это поиск по всему списку, а не по фильтрованному списку. Почему?

Спасибо

Арун AG

1 Ответ

0 голосов
/ 10 ноября 2011

Спасибо, что ответили на мой вопрос. Проблема исправлена ​​с помощью метода bindStore (). Ранее я делал метод load () для рендеринга новых данных в хранилище. Но мы не можем искать последний введенный элемент с помощью этого метода. После привязки Измененного хранилища к списку методом bindStore () проблема была решена.

...