gpt4 book ai didi

javascript - Dojo dgrid 更新一行

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

我有一个从 dojo/request 填充的 dgrid:

var TrackableMem = declare([Memory, Trackable]);
var store = new TrackableMem({
data : resp.results
});

该网格有几列是文本框。当它们更改时,我想确认用户确实想要编辑它们:

grid.on("dgrid-datachange", function(evt) {
if(!confirm("change this field?")) {
// revert cell value back to the old one.
grid.get("collection").get(evt.cell.row.id).notes = evt.oldValue;
grid.refresh();
} else {
// do ajax call here.....
}
}

这不起作用,新的更新值保留在那里,但是当我在开发人员控制台中运行相同的内容时,它确实起作用:

grid.get("collection").get(0).notes = "testing";
grid.refresh();

有什么想法吗? evt.cell.row.id 和 evt.oldValue 是正确的值。

最佳答案

无需在 dgrid-datachange 处理程序中手动恢复数据,因为这些值尚未持久化。

这是故意这样做的,以便您可以取消更新。根据您的情况,您可以这样做:


grid.on("dgrid-datachange", 函数(evt) {
if(!confirm("更改此字段?")) {
evt.preventDefault();
} 别的 {
//在这里进行ajax调用......
}
}

您可以阅读有关此的更多信息 in the offical docsthis Github ticket .

关于javascript - Dojo dgrid 更新一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39709121/

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