如何在ExtJS 5中使用分页过滤网格数据
How to filter grid data with paging in ExtJS 5
我正在尝试将筛选器应用于具有活动分页的数据存储。我目前正在使用静态数据存储,而不是使用代理。但是,过滤器应用于数据网格中显示的当前页面,而不是整个数据存储。
情况1:我尝试停用分页,应用筛选器,然后再次激活分页。但是,过滤器对于当前页面是活动的,而不是对于整个数据存储。
情况2:在应用案例1之前,我尝试将分类器添加到数据存储中。它也不起作用。
有什么方法可以过滤所有数据并在页面中显示过滤结果吗?
注意:我试着在Sencha Fiddle上写一个类似的代码,但网格没有在这个Fiddle上分页,有一个示例代码
-
静态存储数据不支持分页,因为分页是由代理和读取器完成的。但是,您可以在
pagingmemory
代理(ExtJS 4)或具有enablePaging:true
的memory
代理(ExtJS 5/6)上定义数据。 -
对于
ajax
代理,分页是通过向服务器发送页面大小和启动属性来完成的。如果服务器忽略这些属性并返回数据库中的所有内容,则ajax
代理将无法进行分页。服务器只能发回应该在网格中可见的记录。 -
请注意,
ajax
代理还必须传递totalCount
才能使寻呼工作。要查看分页工具栏的工作情况,请添加到您的商店:totalCount:25
。瞧,你的分页工具栏显示有五个页面。其他一切都还不能正常工作,因为请参见1。再次删除totalCount
,对您没有任何帮助。 -
通常情况下,
totalCount
由服务器传递,并由读取器提供给商店:如果服务器在totalProperty
属性中设置的位置报告totalCount,则JsonReader
传递totalCount
。 -
如果使用分页,并且希望始终看到25个应用了正确排序和筛选的条目,则必须使用
remoteSort:true
和remoteFilter:true
。在AjaxProxy
的情况下,过滤和排序必须在服务器端实现。 -
在客户端应用的筛选器将始终在分页后应用,因为分页发生在服务器端。它们不能是设置远程筛选器的同一存储的一部分,因此您必须将网格绑定到以原始存储为源的ChainedStore。然后将客户端筛选器应用于链接存储,将远程筛选器应用于原始存储。
- 在部分视图内渲染的WebGrid将引发“;“jQuery未定义”,当尝试执行基于ajax的分页或过滤时
- 分页和过滤在 AngularJS 中不稳定
- vueJs 分页和过滤
- 角度.js分页过滤的数据并显示总项目,而无需在视图/控制器中复制代码
- jqGrid使用JsonString JsonReader实现服务器端排序分页过滤
- 我想添加过滤,分页到myTable
- 在Rails中使用dataTables或过滤并分页
- 如何在ExtJS 5中使用分页过滤网格数据
- AngularJS中的排序、过滤和分页
- 使用Jquery/AJAX/Javascript搜索、排序、分页和过滤DIV
- 如何在过滤后改变数组变量——Angular Ui分页
- 过滤收集后,后网分页器不工作
- 动态Angular表没有分页过滤
- 带分页的复合过滤
- 对过滤行进行分页 — 重置原始数据集 — jQuery 数据表
- Javascript在数据表过滤或分页之后不工作
- 通过ajax获取分页页面的内容,对其进行过滤并将其附加到当前页面
- 过滤后更新AngularJS中的分页
- 当使用jsonrest和分页时,在Gridx中进行客户端过滤
- 具有服务器端分页+过滤的Kogrid:self.sortedData不是一个函数