之前做的Demo都是十个以内测试的,今天突然加到一百多,卡顿的要命

经过搜索发现不是Grid的问题,而是我在Grid上绑定了一个列自适应宽度的事件



//列宽自适应//bind的问题:当列很多时,加载很慢
var zgdmkgrid = $("#zgdmkgrid").data("kendoGrid");
zgdmkgrid.bind("dataBound", onDataBound);

function onDataBound() {
var zgdmkgrid = $("#zgdmkgrid").data("kendoGrid");
if (zgdmkgrid.columns.length > 20) {
return;
}
for (var i = 0; i < zgdmkgrid.columns.length; i++) {
zgdmkgrid.autoFitColumn(i);
}

}
$(".k-grid-fitcols").click(function (e) {
var zgdmkgrid = $("#zgdmkgrid").data("kendoGrid");
for (var i = 0; i < zgdmkgrid.columns.length; i++) {
zgdmkgrid.autoFitColumn(i);
}
});


后来经过调整,改成了上面这个样子,小于20个字段时触发,大于二十个时就再页面上添加一个按钮手动触发一下。

官方论坛上的一些讨论:https://www.telerik.com/forums/special-autofit-column-for-only-a-fews-rows