gpt4 book ai didi

javascript - Dgrid 对具有一列的数据源执行更新

转载 作者:行者123 更新时间:2023-11-28 15:44:24 24 4
gpt4 key购买 nike

我有一个 dgrid,它只有一列数据(名称),但是我尝试对此列进行更新,并且它不断插入新记录。我知道它会将输入的信息视为新记录,因为 dgrid 中的 idProperty 是 = 名称。我怎样才能克服这个问题并能够更新选定的列而不执行新的更新。

我也理解 dgrid 没有实现行索引的概念。下面是我的代码:

Dgrid

var nameStore = new dojo.store.Observable(new Memory({data: data, idProperty:"name"}));

var nameGrid = new CustomNameGrid ({
store: nameStore,
columns: {

chkBox:selector({}),

Name:{
label:"Names",
field:"name"
}

} ,
selectionMode:"none",
loadingMessage: "Loading data...",
noDataMessage: "No results found....",
allowSelectAll: true
}, "nameGrid");

数据

var data = [{name:"ABC"},
{ name:"DEFG"},
{ name:"HIJK LMNOP"}];

更新功能

单击更新按钮后,将触发更新函数,该函数将正常工作,但它会插入新行而不是更新所选行。 update函数中主要语句是

var userEnteredName = document.getElementById('nameEntered').value

aliasStore.put({name:userEnteredName});

最佳答案

向您的数据添加 id 字段,并从内存存储中删除 idProperty 或将其设置为“id”。当您想要更新一行时,请使用所选行中的 ID 并将 name 设置为新值。

nameStore.put({id:selectedRowId, name: userEnteredName});

当您生成主键而不是使用业务数据时,生活会更好,因为当业务数据需要更改时您会遇到问题。

关于javascript - Dgrid 对具有一列的数据源执行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22817095/

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