Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将筛选器应用于“我的存储”会导致网格临时刷新不正确的数据集_Javascript_Datagrid_Extjs_Filter_Extjs4 - Fatal编程技术网

Javascript 将筛选器应用于“我的存储”会导致网格临时刷新不正确的数据集

Javascript 将筛选器应用于“我的存储”会导致网格临时刷新不正确的数据集,javascript,datagrid,extjs,filter,extjs4,Javascript,Datagrid,Extjs,Filter,Extjs4,我有一个非常简单的界面,包含一个网格、一个搜索字段、一个搜索按钮和一个来自JSON数据源的数据存储 网格的默认状态是显示给定用户的所有数据,并在搜索字段中输入一个术语,然后单击搜索按钮应用一个过滤器,然后重新执行一个调用以获取新的JSON结果集,并将该数据放入网格中。我是这样做的: quick_search: function(search_term, store) {

我有一个非常简单的界面,包含一个网格、一个搜索字段、一个搜索按钮和一个来自JSON数据源的数据存储

网格的默认状态是显示给定用户的所有数据,并在搜索字段中输入一个术语,然后单击搜索按钮应用一个过滤器,然后重新执行一个调用以获取新的JSON结果集,并将该数据放入网格中。我是这样做的:

quick_search: function(search_term, store) {                                                                                                                                    
  store.clearFilter(true);                                                                                                                                                      
  store.filter([{property: 'filter', value: search_term}]);                                                                                                                     
}
单击“搜索”按钮时,以下功能可以正常执行,但我看到了这种情况:

  • 用户从网格中的100条记录开始
  • 用户搜索“测试”(有25条记录)
  • 相应的25条记录显示在网格中
  • 然后用户搜索“堆栈”(45个结果)
  • 网格立即显示原始的100条记录,然后显示正确的45条记录
当最后一步发生时,这是一个非常快速的瞬间


这是以搜索方式动态刷新网格数据的正确模式吗?我是否错误地清除了过滤器?

找到了解决方案。。。以前的解决方案试图运行load,导致多个请求返回到我的Web服务器,获取多个结果集(首先是不正确的结果集,然后是正确的结果集)

quick_search: function(search_term, store) {
  store.filters.clear();                                                                                                                                    
  store.filter([{property: 'filter', value: search_term}]);                                                                                                                     
}