我需要在载入时在剑道网格中显示100个空行,如Image所示,而不使用for循环。
我已经尝试过:-
{'F': 2, 'S': 1, 'Y': 2, 'C': 1, 'L': 7, 'STOP': 1, 'W': 2, 'P': 3, 'H': 0, 'R': 6, 'Q': 8, 'I': 4, 'T': 1, 'N': 2, 'K': 4, 'M': 5, 'V': 3, 'A': 9, 'D': 5, 'G': 2, 'E': 3}
但是使用for循环会消耗大量的加载时间。那么,除了for循环以外,还有什么更好的选择可以在剑道网格中显示多行?
我的网格如下:-
$(document).ready(function () {
var grid = $("#AlertRowGrid").data("kendoGrid");
var datasource = grid.dataSource;
for (i = 0; i < 100; i++) {
datasource.add({ PhoneNumber: '', Field1: '', Field2: '', Field3: '', Field4: '', Field5: '', Field6: '', Field7: '', Field8: '', Field9: '', Field10: '' });
}
});
您的帮助将不胜感激。
答案 0 :(得分:1)
每次更新网格的数据源时,都会刷新它。我更改了您的代码以首先构建数据源,然后将其分配给网格:
$(document).ready(function () {
console.log("S: " + new Date());
var data = [];
for (var i = 0; i < 100; i++) {
data.push({ PhoneNumber: '', Field1: '', Field2: '', Field3: '', Field4: '', Field5: '', Field6: '', Field7: '', Field8: '', Field9: '', Field10: '' });
}
var dataSource = new kendo.data.DataSource({
data: data
});
var grid = $("#AlertRowGrid").getKendoGrid();
grid.setDataSource(dataSource);
grid.dataSource.read();
console.log("E: " + new Date());
});
根据https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/setdatasource,不需要手动重新加载数据源。但是没有它就行不通。
您的代码在我的计算机上花费了5秒钟。现在不到一秒钟。