Dojo 如何从dgrid中删除行

Dojo 如何从dgrid中删除行,dojo,dgrid,Dojo,Dgrid,我已经定义了dgrid和用于删除行的按钮: 去除 var dojoConfig={ async:true, 套餐:[ {name:'dgrid',位置:'//cdn.rawgit.com/SitePen/dgrid/v1.1.0'}, {name:'dstore',位置:'//cdn.rawgit.com/SitePen/dstore/v1.1.1'} ] }; 要求([ “dojo/_base/declare”, “dojo/on”, “dojo/dom”, “数据存储/内存”, “数据存

我已经定义了dgrid和用于删除行的按钮:


去除
var dojoConfig={
async:true,
套餐:[
{name:'dgrid',位置:'//cdn.rawgit.com/SitePen/dgrid/v1.1.0'},
{name:'dstore',位置:'//cdn.rawgit.com/SitePen/dstore/v1.1.1'}
]
};
要求([
“dojo/_base/declare”,
“dojo/on”,
“dojo/dom”,
“数据存储/内存”,
“数据存储/可跟踪”,
“dstore/SimpleQuery”,
“dgrid/Grid”,
“dgrid/extensions/Pagination”,
“dgrid/extensions/DijitRegistry”,
“dojo/domReady!”
],
函数(声明、打开、dom、内存、可跟踪、SimpleQuery、网格、分页、DijitRegistry){
var数据=[];

对于(var i=1;i在删除行后更新行数据时,网格可能遇到错误。当编辑器在按钮失去焦点后尝试更新行时,请尝试使用grid.removeRow方法删除行。它可能仍会遇到一些其他问题,但值得一试

Editor
可能不是实现您的目标的最佳解决方案

用户renderCell将按钮添加到网格中,以删除行/记录。这可能是更好的解决方案

更新:只需刷新网格即可解决问题


去除
var dojoConfig={
async:true,
套餐:[
{name:'dgrid',位置:'//cdn.rawgit.com/SitePen/dgrid/v1.1.0'},
{name:'dstore',位置:'//cdn.rawgit.com/SitePen/dstore/v1.1.1'}
]
};
要求([
“dojo/_base/declare”,
“dojo/on”,
“dojo/dom”,
“数据存储/内存”,
“数据存储/可跟踪”,
“dstore/SimpleQuery”,
“dgrid/Grid”,
“dgrid/extensions/Pagination”,
“dgrid/extensions/DijitRegistry”,
“dojo/domReady!”
],
函数(声明、打开、dom、内存、可跟踪、SimpleQuery、网格、分页、DijitRegistry){
var数据=[];

对于(var i=1;不幸的是,我不能使用它。首先,如果我使用编辑器并通过它更改值,结果再次是meny“No data found”结果。另外,存储应该独立于网格,所以当我使用store.remove()时,我不应该知道网格。第三个问题是,我想使用异步存储(而不是内存),因此此解决方案意味着网格将在返回和呈现结果之前刷新。并且它也会随着编辑器闪烁,就像我使用showLoadingMessage:true一样:(在这种情况下,您需要使用OnDemandGrid,而不仅仅是Grid。dgrid/Grid是用于加载数据的轻型网格。它没有更新自身的功能。如果您更新了存储区内的数据,则需要刷新它。但是,我已对其进行了测试,showLoadingMessage必须设置为true。由于某种原因,设置时它会出错。)它被设置为false。我将稍后进行调查。根据文档,您不应该同时使用OnDemandGird和分页。使用showLoadingMessage:true,我的示例可以工作,因此我不需要OnDemandGrid。但我不想使用showLoadingMessage:true,因为存储中的每一个更改都会导致网格闪烁(特别是如果您不使用内存,而是使用某种Rest存储)。