之前做的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