gpt4 book ai didi

kendo-ui - 从 Kendo 网格数据填充 Kendo Treeview

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

我在同一页面上有 TreeView 和 Grid,我需要从网格数据填充 TreeView。所以流程是这样的:

用户从下拉列表中选择某项内容并单击按钮 -> Web 服务调用 -> 使用来自 Web 服务的数据填充网格 -> 使用网格数据的一些消息填充 TreeView

填充 TreeView 的逻辑当前在 grid.dataSource.fetch() 方法中,如下所示:

// this function is called when user clicks on the button
function getData() {
grid.dataSource.read();
grid.dataSource.page(1);

grid.dataSource.fetch(function () {
var data = this.data();
... // logic to massage the data to populate TreeView
...
}
}

但是,如果用户从下拉列表中选择另一项并再次单击按钮,则 this.data() 似乎具有旧数据(从第一次开始),因此,TreeView 填充了旧数据。

除了 fetch() 我应该使用哪个事件/方法来放入我的逻辑?

最佳答案

我认为您应该使用kendoGrid 的dataBound 事件。
http://docs.kendoui.com/api/web/grid#events-dataBound

这是kendoGrid dataBound 事件处理程序的示例代码:

function Grid_DataBound(e) {
console.log("Grid_DataBound", e);

var grid = e.sender;
var dataItems = grid.dataSource.view();

console.log(dataItems);

var treeData = new Array();

for (var i = 0; i < dataItems.length; i++) {
treeData.push({
OrderId: dataItems[i].OrderID,
ShipName: dataItems[i].ShipName
});
}

var dataSource = new kendo.data.HierarchicalDataSource({
data: treeData,
schema: {
model: {
id: "OrderId"
}
}
});

$("#treeview").data("kendoTreeView").setDataSource(dataSource);
}

如果您需要完整的示例代码,请告诉我。

关于kendo-ui - 从 Kendo 网格数据填充 Kendo Treeview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17435107/

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