по-моему, при старте приложения вам нужно запросить у веб-сервера списки уникальных значений в полях "Город" и "Образование", затем динамически сформировать набор чекбоксов для каждого поля. Когда пользователь щёлкнет по чекбоксу, не нужно фильтровать стор грида методом filterBy. Нужно заставить стор обновиться через метод
load и передать на сервер все значения чекбоксов.
myGrid.getStore().load({
params: {
city: ['Витебск', 'Могилёв'],
education: ['Высшее']
}
}
});
Для сбора значений фильтра лучше назначить один обработчик в контроллере для всех чекбоксов, навесив его на событие
change.
Если будет проблематично настроить proxy для стора Users, можно подгружать данные через Ext.Ajax.request() и затем отправлять их в стор через store.loadData(myData).
Какую версию ExtJs вы используете? Как у вас настроен store таблицы?