无限网格滚动和本地过滤

时间:2013-11-26 06:11:40

标签: extjs filtering extjs4.2 gridpanel

我一直在寻找解决同一问题的多篇帖子。在从商店远程过滤数据并将其送入网格面板之前,还有任何解决方案:

  • 在网格面板视图中一次显示约10000条记录。
  • 在网格中使用列过滤来过滤所有这些记录。

1 个答案:

答案 0 :(得分:2)

这两种方法是交叉目的 - 在查看此大小的数据集时,您需要考虑使用缓冲网格/存储。缓冲网格的重点是底层数据集太大而无法同时加载到网格中而不会引入大量开销(通常在DOM复杂性中,其次是JS处理)。因此,就其本质而言,数据被缓冲并以块的形式加载。因此,将本地过滤/排序作为一个层引入其上是不合适的,因为它将仅应用于当前块,因此当获取下一个记录块时,它们不会订阅由下面指示的过滤器/排序。 GUI /用户期望的。因此,你最终得到了一个脱节的用户体验。

因此,您有几种方法:

  1. 使用分页网格 - 在每个页面上进行本地过滤/排序,仍然会产生不太理想的用户体验,但至少在某种程度上它是半逻辑的

  2. 不使用分页/缓冲,只需加载所有记录,然后进行本地过滤/排序,这不是一个可扩展的解决方案,而是更多地试图逃避为您的应用提供坚实的基础工作

  3. 使用缓冲的网格/商店并实施服务器端过滤/排序,根据您的要求,这显然是建议 - 并且不应该太难实现

  4. 所以简短的答案是否定的 - 建议使用带有远程过滤/排序的缓冲网格/商店。