среда, 8 октября 2008 г.

Google Groups

Возникла проблема с фильтрами для одного объекта из библиотеки ExtJs. После нескольких часов изучения на практике методов, событий и свойств двух объектов зарегистрировался в Google Groups и описал свою проблему. Проверил после обеда: ответов не было, при этом появилось несколько новых постов с количеством ответов от 1 до 3. Пришлось отвечать самому. Для поиска ответа использовалась отладочная версия библиотеки. Выяснил, что для локальных данных метод ComboBox.doQuery() или очищает фильтр объекта Store для выборки всех данных, или очищает фильтр для установки нового для фильтрации по введённому значению - т.е. без особых вариантов на использование своего фильтра. Помогла проверка используемая для кэширования запросов по последнему условию.

Итоговая заплатка для использования своих фильтров выглядела так:
ComboBox.on('beforequery', function (obj){
obj.forceAll = true;
obj.combo.lastQuery = obj.query;
});
Внимание: используется недокументированное свойство ComboBox.lastQuery, работает в ExtJs версии 2.2.

P.S. Ранее для помощи в освоении ExtJs зарегистрировался в Вопросах и ответах, но после краткого знакомства с ВиО вопросы на эту тему там задавать я не стал.

Комментариев нет:

Отправить комментарий