Json 刷新Dojo网格中显示的数据
我有一个Dojo网格。每一行都有一个到公式的链接,可以在其中更改数据。现在,当我单击save and close(在表单中)时,我希望网格重新加载显示的数据。到目前为止,我已经设法重新加载了数据,但我总是跳回网格的开头。但是,例如,如果我在表的末尾,我只想重新加载最后几个条目。Json 刷新Dojo网格中显示的数据,json,datagrid,dojo,Json,Datagrid,Dojo,我有一个Dojo网格。每一行都有一个到公式的链接,可以在其中更改数据。现在,当我单击save and close(在表单中)时,我希望网格重新加载显示的数据。到目前为止,我已经设法重新加载了数据,但我总是跳回网格的开头。但是,例如,如果我在表的末尾,我只想重新加载最后几个条目。 我的网格连接到一个JSONRest存储,所以基本上我应该知道现在显示的范围。如何获取范围?如果您的网格由存储支持,只需将更改的对象“放入”存储即可。您正在使用的JsonRest存储将通过PUT请求将更改发送回服务器,网格
我的网格连接到一个JSONRest存储,所以基本上我应该知道现在显示的范围。如何获取范围?如果您的网格由存储支持,只需将更改的对象“放入”存储即可。您正在使用的JsonRest存储将通过PUT请求将更改发送回服务器,网格将获取更改并更新相应的项 在表单中按save时,需要创建表单数据的json表示(与网格中使用的数据相匹配),并将其放入存储:
require(["dojo/dom-form", ... ], function(domForm, ...) {
...
var updatedItem = domForm.toObject("yourFormId");
yourGridStore.put(updatedItem).then(function() {
console.log("put was successful");
});
...
}
我设法解决了这个问题,没有任何麻烦。代码如下:
grid._lastScrollTop=grid.scrollTop;
grid._refresh();
这就是我找到答案的链接。这是答案6。听起来是个好主意,但对我不起作用。我们现在更改了JS框架,我们从列表开始。所以,到目前为止,我们还没有改变任何公式,而且这不会很快发生在任何地方。因此,公式将在弹出窗口中打开,并将其数据发送到服务器上的脚本。我知道,我可以将一些数据传递给开场白,但这不会有什么帮助,因为我无法判断这个特定项目位于哪个位置。或者,我有办法吗?你不必处理网格中的位置。您只需使用更改的项目更新存储。