我使用的是使用分页的网格,因此它使用ListLoader / MemoryProxy来管理页面。但在这种情况下,商店在任何给定时间只知道当前页面中的项目。我也使用支持排序的GroupingView(remoteSort = false)。但它只对商店中的内容进行排序,即当前页面。但是,如果一个组扩展到第二个页面,则排序不会考虑另一个页面上的组条目,因此在这种情况下排序是不正确的。有没有人有关于如何解决这个问题的解决方案或想法?
答案 0 :(得分:1)
问题在于尝试将您对“网页”的想法映射到“群组” - 如果您在一致大小的网页中浏览结果,那么很有可能这与您的群组无法匹配。例如,只要组中每个只有几个项目,您可能会关闭到您期望的页面大小(加上或减去几个项目),但您必须考虑到分页时。但是当一个组(或连续的几个组)是一个页面的大小或更大时会发生什么?
例如,假设您将页面大小设置为25个项目,并且3个组正在设置中,A有15个项目,B有20个项目,C有50个。如果第一个页面有25个项目,那么< / p>
好的,这有点烦人。当我们考虑第二页的项目时,它确实变得更糟:
幸运的是,所有这一切都很容易实现:服务器告诉客户端它在分页结果对象中返回的内容,包括它发送的实际偏移量和项目(可能是也可能不是客户端请求的内容) )。
通过分页将远程排序设置为false没有任何意义,因为服务器必须排序(或分组,这是一种排序)以便以一致的方式为您提供组。也就是说,如果您的查询仍然执行,则分组视图必须确保项目已正确分组。与分页详细信息一样,只要组中的项目位于每个组旁边,它们是否已排序(对于用户 ...可能很重要)对客户端来说实际上并不重要其他(因为视图不会再次对项目重新排序)。