我有一个 xtype:'combo',它看起来像这样:
xtype: 'combo',
id: 'records_list_author_id',
emptyText: 'Filter By author',
editable: false,
store: 'FilterRecordsByAuthor',
displayField: 'firstname',
valueField: 'id',
lastQuery: '',
triggerAction: 'all',
queryMode: 'local',//'remote',
typeAhead: false,
width: 200
我使用非常简单的故事,代理定义如下:
proxy: {
type: 'ajax',
actionMethods: 'POST',
api: {
read: g_settings.baseUrl + 'index.php/record/getAuthorsOfRecords'
},
reader: {
type: 'json',
root: 'data',
idProperty: 'id',
successProperty: 'success'
//totalProperty: 'totalCount'
}
}
在我的控制器中,我有这个:
var comboBoxFilterByAuthorSt = this.getFilterRecordsByAuthorStore();
comboBoxFilterByAuthorSt.clearFilter(true);
comboBoxFilterByAuthorSt.filter ({
filterFn: function(item) {
return item.get('category_id') == sel.raw.categoryId;
}
})
因此,例如,当我sel.raw.categoryId = 1
在我的商店中匹配具有 2 个不同作者的记录时,但在组合框中我只得到其中一个名称。在其他情况下,我也会得到不正确的结果。我检查了我的 sql 查询,它工作正常并返回正确的信息,但是当我过滤商店时,我没有得到匹配项,我知道它们存在。也许问题出在其他地方,但也许我在制作过滤器时错过了一些东西。所以 - 任何建议表示赞赏。
谢谢
勒龙