0

我有一个 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 查询,它工作正常并返回正确的信息,但是当我过滤商店时,我没有得到匹配项,我知道它们存在。也许问题出在其他地方,但也许我在制作过滤器时错过了一些东西。所以 - 任何建议表示赞赏。

谢谢

勒龙

4

0 回答 0