gpt4 book ai didi

javascript - 在 Kendo HierarchicalDataSource 中推送创建子节点

转载 作者:行者123 更新时间:2023-12-03 22:51:03 25 4
gpt4 key购买 nike

我正在尝试显示配置了远程数据的 Kendo TreeView,但使用直接从 html 加载的数据预填充前两个级别。

为此,我想使用 Kendo 数据源的 pushCreate 方法将初始元素添加到树中:

homogeneous = new kendo.data.HierarchicalDataSource({
transport: { read: { url: serviceRoot + "/Employees", dataType: "jsonp" } },
schema: {
model: {
id: "EmployeeId",
hasChildren: "HasEmployees"
}
}
});

// Adding root
homogeneous.pushCreate({"EmployeeId":2,"FullName":"Andrew Fuller","HasEmployees":true,"ReportsTo":null});

// Adding children
homogeneous.pushCreate([
{"EmployeeId":1,"FullName":"Nancy Davolio","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":3,"FullName":"Janet Leverling","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":4,"FullName":"Margaret Peacock","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":5,"FullName":"Steven Buchanan","HasEmployees":true,"ReportsTo":2},
{"EmployeeId":8,"FullName":"Laura Callahan","HasEmployees":false,"ReportsTo":2}
]);

$("#treeview").kendoTreeView({
dataSource: homogeneous,
dataTextField: "FullName"
});

但是,子元素被添加到根级别(您可以看到运行 here )。

有一个 schema.model.children 配置来设置将子元素保存在根元素内的属性,我可以一次性添加所有内容,但是如果我使用它,那么 dataSource 将停止处理远程数据(您可以看到运行 here )。

所以问题是,有没有办法使用 pushCreate 在 HierarchicalDataSource 上添加元素作为另一个元素的子元素?

最佳答案

我在写问题时找到了答案:)

似乎如果我只是使用 items 作为 child 的键,我不需要指定 schema.model.children 选项,所以树仍然可以处理远程数据:

homogeneous.pushCreate(
{"EmployeeId":2,"FullName":"Andrew Fuller","HasEmployees":true,"ReportsTo":null,
"items": [
{"EmployeeId":1,"FullName":"Nancy Davolio","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":3,"FullName":"Janet Leverling","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":4,"FullName":"Margaret Peacock","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":5,"FullName":"Steven Buchanan","HasEmployees":true,"ReportsTo":2},
{"EmployeeId":8,"FullName":"Laura Callahan","HasEmployees":false,"ReportsTo":2}
]
}
);

Here's the working example

我不知道这是否是意外功能,但可用于向根添加整个子树(这解决了我的问题)。但是问题仍然存在,我可以使用 pushCreate 将子元素添加到另一个元素吗?

关于javascript - 在 Kendo HierarchicalDataSource 中推送创建子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27072248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com