在我们的环境中,我对JQGrid(4.5.4)的性能以及JQuery 1.8.2版本提出了几个问题。 但为了简单起见,我从下面的问题开始:
JQGrid最好的免费推荐版本用于避免性能问题?
最终用户的计算机(台式机或笔记本电脑)配置是否会影响JQGrid加载和重新加载的性能?
要避免或用于处理性能问题的参数是什么?
关于JQGrid的初始加载的一个主要观察是在加载Y MB数据的情况下花费X时间,当我们重新加载(在过滤器上)相同的网格时,加载相同的Y MB数据需要2倍的时间。
用于初始加载的JQGrid代码:
$grid.jqGrid({
url: 'Data.htm?load=init',
autowidth: true,
datatype: 'json',
colNames: ['Col1', 'Col2', 'Col3', 'Col4', 'Col5', 'Col6', 'Col7', 'Col8', 'Col9'],
colModel: [{
name: 'col1',
width: 65
}, {
name: 'col2',
width: 80
}, {
name: 'col3',
width: 75
}, {
name: 'col4',
width: 52
}, {
name: 'col5',
width: 65
}, {
name: 'col6',
width: 80
}, {
name: 'col7',
width: 100
}, {
name: 'col8',
width: 100
}, {
name: 'col9',
width: 100
}],
cmTemplate: {
sortable: false
},
recordtext: "Showing {1} of {2}",
rowNum: 15,
rowList: [10, 20, 30, 40, 50],
pager: '#pager',
width: "1100",
gridview: true,
ignoreCase: true,
rownumbers: false,
sortname: 'invdate',
viewrecords: true,
sortorder: 'asc',
height: 'auto',
loadonce: true
}); //eof-jqgrid
JQGrid代码重新加载网格ussing触发器功能:
var sForm = $('#form').serialize();
$("#grid").jqGrid('clearGridData').jqGrid('setGridParam', {
url: 'Data.htm?load=filter&' + sForm,
datatype: 'json'
}).trigger('reloadGrid');
所以我不知道是什么影响了重载需要两倍的时间?如何避免这种情况,我们是否需要在重新加载时传递任何其他参数?
我构建的模型是,我从服务器获取一个JSON格式的字符串并提供给JQGrid。现在JQGrid花了很多时间来装载它。