【问题标题】:Applying filter to my store causes grid to refresh with incorrect data set temporarily将过滤器应用于我的商店会导致网格暂时刷新不正确的数据集
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多