Ext.define('Userpanel.controller.Condition', { extend: 'Ext.app.Controller', init: function() { this.control({ '[itemId="userpanel-widget-condition-field-combobox"]': { select: this.onFieldSelect }, '[itemId="userpanel-widget-condition-sign-combobox"]': { beforequery: this.beforeSignQuery } }); }, onFieldSelect: function(combobox, records) { combobox .up('userpanel-condition-widget') .down('[itemId="userpanel-widget-condition-sign-combobox"]') .getStore() .filterByFieldType(records[0].get('type')) // custom filter method ; }, beforeSignQuery: function(queryEvent) { queryEvent.combo.lastQuery = ''; // http://www.sencha.com/forum/showthread.php?127334-Refresh-ComboBox-after-applying-filterBy-on-Store&p=627369&viewfull=1#post627369 } });