JQGridPageing在通过过滤器工具栏应用过滤器后非常慢
JQGrid paging very slow after applying filter via filter toolbar
我将jqGrid与LOAD ONCE一起使用,然后在客户端进行分页。当我添加过滤器工具栏时,在应用任何类型的过滤器后,分页都会变得非常慢。
$(gridElement).jqGrid({
postData: post,
loadComplete: function (data) {
onLoadComplete(data);
},
gridComplete: function () {
onGridComplete();
},
datatype: function (pdata) {
dataSource(pdata);
},
colNames: columnNames,
colModel: columnModel,
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
pagination: true,
pager: pagerElement,
loadonce: true,
sortorder: "desc",
sortname: 'id',
cellEdit: false,
search: true,
gridview: true,
//rownumbers: true
});
$("#jqGrid").jqGrid('filterToolbar',{
stringResult : true,
searchOnEnter : false });
知道为什么会发生这种情况吗?在触发任何常见事件(如onPaging、onGridComplete等)之前,单击页面按钮会有延迟
请注意,网格完成后,数据类型属性将设置为"local"。
我的猜测是,它会在你每次浏览时尝试过滤(或者一次只过滤一页?不确定)。但这可以被禁用吗?
谢谢。
您可能需要研究使用DataTables(http://www.datatables.net)作为替代品。我相信排序是在整个数据集上进行的(这会使处理这个脚本以及绑定事件的速度非常慢)。我最近研究了表排序和网格布局的选项——由于性能问题,我选择了DataTables而不是jqGrid。
此外,看看获得最新版本是否有助于加快速度。。。http://www.trirand.com/blog/(6月新发布)。
如果您对其他网格库持开放态度,我建议您看看SlickGrid。
我已经用了一段时间了。似乎是同类中最好的JavaScript网格库。一旦你掌握了它的窍门,它就很容易定制;也有相当多的插件已经。
相关文章:
- 为什么我的d3.jsselectAll+过滤器没有过滤
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- Angular-表的多列过滤器
- 如何“;过滤器”;或者以其他方式重构该数据
- Angularjs通过过滤器获取indexOf
- 通过javascript操作图像,非常简单
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 使用按钮的Angular UI网格过滤器
- KendoUI网格行过滤器,带有布尔值下拉列表
- 如何在angular.js中动态应用自定义过滤器
- 角度过滤器和ng点击不起作用
- SVG过滤器可以'不能在React中呈现
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 非常简单的XMLHttpRequest不起作用
- 在表单中创建一个黑名单过滤器以避免某些单词
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 过滤器返回true或false
- JQGridPageing在通过过滤器工具栏应用过滤器后非常慢
- Ionic应用程序使用angularJS过滤器非常慢
- jQuery自动完成或过滤器,而不是一个非常长的