87,994
社区成员
发帖
与我相关
我的任务
分享
/*
列数是动态加载,当列数量超过50,甚至100列 就很慢了,在chrome浏览器大概3ms,IE更不敢想象。
请问有人优化过这个问题吗?(已排除是服务端加载数据慢的原因,确定是datagrid的问题)
*/
var columns = [{ field: "ID", title: "ID", width: 120 }];
for (var idx = 0, len = data.length; idx < len; idx++) {
var item = data[idx] || null;
if (item) {
columns.push({ field: item.FieldNameEn, title: item.FieldNameCn });
}
}
$("#dgResidentProject").datagrid({
url: "/api/data/ResidentProject/GetProjects?page=1&rows=10",
width: 'auto',
rownumbers: true,
checkOnSelect: false,
ctrlSelect: false,
loadMsg:"数据加载中,请稍后...",
singleSelect: true,
pagination: true,
queryParams: { },
pageSize: 10,//每页显示的记录条数,默认为10
pageList: [10, 15, 20],//可以设置每页记录条数的列表
columns: [columns],
onLoadSuccess: function (data) {
var dEnd = new Date();
var ms = dEnd.getTime() - dStart.getTime();
alert(ms);
}
});
//设置分页控件
var p = $('#dgResidentProject').datagrid('getPager');
$(p).pagination({
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录'
});
几毫秒LZ都认为时间长?[/quote]
失误,本地chrome测试需要3秒,测试服务器测试要6秒;IE11要30秒以上~~~[/quote]
你查什么东西需要50列?100列?
优化列或者使用detailview(详见官网demo--DataGrid-- Master Detail)
先显示几个重要的,在detailview里在显示全部
几毫秒LZ都认为时间长?[/quote]
失误,本地chrome测试需要3秒,测试服务器测试要6秒;IE11要30秒以上~~~
[/quote]
,皮痒痒了。。嘿嘿
50列你直接用table来弄都不很块吧。。更不要说这种包装过的框架了
几毫秒LZ都认为时间长?
easyui 没用过,只能提点其它建议,那就是考虑把列进行一个分类,相关的一类列只加载前少数几个,其它的写一个补充插件,点击展开的时候再加载。