【发布时间】:2014-02-20 17:20:17
【问题描述】:
在 ExtJs 中,远程数据可以很容易地显示在分页网格中。但要做到这一点,服务器端必须支持分页。此外,分页网格中的本地排序和过滤没有用,因为它只过滤当前页面的元素。为了获得一致的结果,需要远程过滤和排序。对于无限滚动网格中的缓冲存储,同样适用。
但这并不总是正确的解决方案。特别是当远程数据检索需要一些时间时,过滤的用户体验会下降。我们也不能使用 javascript 函数来过滤或排序。
一种解决方案是让 ExtJs 一次读取所有数据,并使用该数据的本地副本来过滤和排序数据。我们需要一个用于整个数据集的中间存储,以及链接到网格以显示数据的主存储。但这需要主代理将中间存储作为数据源,据我所知,代理不能将另一个存储作为数据源。
有人知道如何解决这个问题吗?我不确定草拟的解决方案是否可行,但我需要以某种方式协调拥有远程 .json 数据源并使用本地分页、过滤和排序。
我怎样才能做到这一点?
【问题讨论】:
-
具有相同的要求,我尝试将商店的代理类型内存和“enablePaging”标志设置为 true。当我从 remote.json 传递“totalCount”时,分页工具栏处于活动状态。问题是没有。页面上显示的记录很多。我的意思是它没有占用 pageSize。
-
@Damon 你能用你的解决方案过滤和排序吗?
-
:本地排序在没有分页的情况下工作。仍然卡在分页问题上(总记录显示在第一页上)。不确定分页情况下的排序如何。
标签: sorting extjs pagination extjs4.2 extjs-stores