【发布时间】:2016-06-04 11:05:04
【问题描述】:
在 asp.net mvc 视图中,我有一个 Kendo UI 树视图和一个 Kendo UI 网格。树视图中的每个复选框在网格的 ID 列中具有相同的 id 值。每当我取消选中树视图中的复选框时,我想删除网格中具有此 id 值的相应行。 ID 是网格中的列之一。以下是我的代码:
下面的函数是由treeview上的uncheck action执行的
function onCheck() {
var checkedNodes = [],
treeView = $("#treeview").data("kendoTreeView"),
var myNodes = treeView.dataSource.view();
for (var i = 0; i < myNodes.length; i++) {
var children = myNodes[i].children.view();
if (children) {
for (var j = 0; j < children.length; j++) {
if ((typeof children[j].checked !== undefined) && (!children[j].checked)) {
alert("You unchecked " + children[j].id); //This shows the correct id value
var dataItem = $("#grid").data("kendoGrid").dataSource.get(children[j].id);
$("#grid").data("kendoGrid").dataSource.remove(dataItem);
}
}
}
}
以下是网格的代码:
$("#grid").kendoGrid({
pageable:true,
dataSource: dataSource, //comes as json from a url
schema: {
model: {
id: "ID"
}
},
pageSize:3,
columns: [
{
hidden: true,
field: "ID"
},
{
field: "MyFileName"
},
});
当我调试时, var dataItem = $("#grid").data("kendoGrid").dataSource.get(children[j].id); 中的 dataItem未定义。但是,树视图检索到的 id 和网格中的 id 匹配。这是我看到的错误:0x800a138f - JavaScript 运行时错误:无法获取未定义或空引用的属性“uid”
显然没有删除网格行。
谢谢
【问题讨论】:
-
dataSource.get依赖于模型...你能提供所有相关代码吗? (Grid 和 TreeView 定义)
标签: javascript asp.net-mvc kendo-ui kendo-grid