【发布时间】:2011-08-10 14:42:45
【问题描述】:
我有一个非常简单的界面,其中包含一个网格、一个搜索字段、一个搜索按钮和一个来自 JSON 数据源的数据存储。
网格的默认状态是显示给定用户的所有数据并在搜索字段中输入一个术语并单击搜索按钮应用过滤器,然后重新执行调用以获取新的 JSON 结果集并放入网格中的数据。我这样做的方式如下:
quick_search: function(search_term, store) {
store.clearFilter(true);
store.filter([{property: 'filter', value: search_term}]);
}
单击搜索按钮时,以下函数执行得很好,但我看到了这种情况:
- 用户从网格中的 100 条记录开始
- 用户搜索“test”(有 25 条记录)
- 相应的 25 条记录显示在网格中
- 然后用户搜索“堆栈”(45 个结果)
- 网格快速显示原始的 100 条记录,然后显示正确的 45 条记录
当最后一步发生时,它是一个非常快速的昙花一现。
这是以搜索方式即时重新刷新网格数据的正确模式吗?我是否可能错误地清除了过滤器?
【问题讨论】:
标签: javascript datagrid extjs filter extjs4