Error : "cannot read property 'nodename' of undefined" While converting html Table

Error : "cannot read property 'nodename' of undefined" While converting html Table

我正在尝试将 HTML Table 转换为 KendoGrid 但在执行此操作时出现错误

$("#ReportExport").kendoGrid({
    toolbar: ["excel"],
    filterable: { mode: "row" },
    pageSize: 25,
    sortable: true,
    columnMenuInit(e) {
        e.container.find('li[role="menuitemcheckbox"]:nth-child(1)').remove();
        e.container.find('li[role="menuitemcheckbox"]:nth-child(4)').remove();
    },
    columnMenu: {
        filterable: false
    },
    reorderable: true,
    resizable: true,
    pageable: {
        alwaysVisible: true,
        pageSizes: [25, 100]
    },
});

并且控制台显示了这个 未捕获的类型错误:无法读取 属性 'nodeName' of undefined at N (kendo.all.js:7692)

此错误可能是由于脚本尝试访问元素时该元素不可用。

您可以尝试在 document.ready 函数中插入您的代码,以确保您的 DOM 已加载,或者在 运行 您的代码之前检查该元素是否可用。

我收到了这个。 其实我并没有意识到$("#GridName").KendoGrid()$("#GridName").data('kendoGrid')之间的区别。 第一个基本上初始化 grid.Later on,如果你想操作网格,你必须先使用第二种方法在变量中获取它。 所以问题就出在这里

columnMenuInit(e) {
        e.container.find('li[role="menuitemcheckbox"]:nth-child(1)').remove();
        e.container.find('li[role="menuitemcheckbox"]:nth-child(4)').remove();
    }

由于我使用的方法是初始化,因此网格无法执行所需的功能。 感谢 Diogo Peres 给我正确的方向。