我正在使用 Kendo TreeList 来显示分层数据。应用程序允许用户向显示的数据添加新行,或编辑现有数据。我没有使用内联编辑。现在我通过这段代码添加新行:
treeList.dataSource.data().push(vm);
如果用户编辑了某些行,它会在 dataSource 中更新:
for (i = 0; i < dsData.length; i++) {
if (dsData[i].get("TaskUid") === vm.get("TaskUid")) {
dsData[i] = vm;
var curId = vm.get("VisualId");
vm.set("VisualId", curId);
grid.dataSource.read();
onDataBound();
}
}
有一个副作用 - 在调用 dataSource.read() 时,新添加的项目会从 TreeList 控件中消失。问题是 - 我应该如何在 treeList 中添加数据和刷新数据而没有这种副作用?