在小提琴和相关代码中提供完整的代码。
this.sportsData.lockColumn(laptop);
TypeError: Cannot read property 'locked' of undefined
at init.reorderColumn (kendo.all.min.js:49)
at init.lockColumn (kendo.all.min.js:49)
at SwimmingDocuments.lockKGridColumns (ball-bat.ts:863)
at SwimmingDocuments.collectUserDraggedColumns (ball-bat.ts:847)
at HTMLDocument.eval (ball-bat.ts:811)
at HTMLDocument.dispatch (jquery-2.2.3.js:4737)
at HTMLDocument.elemData.handle (jquery-2.2.3.js:4549)
at ZoneDelegate.invokeTask (zone.js:236)
at Object.onInvokeTask (core.umd.js:6233)
at ZoneDelegate.invokeTask (zone.js:235)
gym(remote, running): void {
if (remote.length <= 0) {
return;
}
this.sportsData = $('#' + running).data("kendoGrid");
let jump = $('#' + running + ' .k-grid-header > div > table > thead > tr:first-child > th');
let high = jump.length;
for (let i = 0; i < high; i++) {
let laptop = jump.eq(i).attr('data-field');
let bed = typeof laptop;
if (bed == "string" && laptop != undefined) {
if (($.inArray(laptop, remote) !== -1 && jump.eq(i).css('display') != 'none') || laptop == 'lockSetColumn' || laptop == 'contextRow') {
this.sportsData.lockColumn(laptop);
} else {
this.sportsData.unlockColumn(laptop);
}
}
}
答案 0 :(得分:0)
这更多是一个建议。
今天在另一个网格方法reorderColumn(i,column)上出现了这个确切的错误,并在寻找答案的同时找到了问题。
我的问题是通过的我不在最大列索引范围内,例如通过了i = 3,获得了2列的网格。
在您的情况下,在lockColumn或unlockColum上引发了错误。建议在这些行上放置一个js断点,并查看笔记本电脑是否为有效的网格列。有效的网格列必须是具有字段,标题等属性的对象。