0

我创建了一个包含列的 unik 值的过滤器:

{
  header   : 'Вопрос А',
  dataIndex: 'answerA',
  itemId: 'answerA',
  width    : 100,
  filter: {
      type: 'list',
      options: this.getStore().collect('answerA'),
  },
  editor: 'textfield'
}

当用户在列的单元格中输入新值时,该值必须出现在过滤器中。我怎样才能做到这一点?

我看过Extjs Grid Filter - Dynamic ListFilter但它对我帮助不大。

4

1 回答 1

0

您应该仔细查看StringFilter.js位于ux/grid/filter. 我自己通过combobox在每个过滤器中添加一个来做到这一点。在组合expand中,我通过解析相应的列数据来更新其存储。此外,我建议您收集唯一值,用于此任务使用Ext.Array.unique功能。否则,如果两个单元格包含相同的数据,则两个值都将进入存储,这是不好的,因为它们中的任何一个都会产生相同的过滤。我没有附上我的代码,因为它严重依赖于我的自定义数据类型,但我认为这个想法很简单。

于 2013-08-15T11:51:11.973 回答