/ / dojo grid que é recarregada não está sendo atualizada em div - ajax, dojo, dojox.grid.datagrid

A grade dojo recarregada não está sendo atualizada em div - ajax, dojo, dojox.grid.datagrid

Eu tenho uma grade, que tem uma loja, que fica jsondados de um URL. Quando estou alterando os valores na loja, estou reatribuindo a loja para a grade. Eu observei nas Ferramentas do desenvolvedor que a grade está sendo atribuída à nova loja. Mesmo quando eu dou check, dijit.byId (), consigo ver a loja atualizada. Mas a tela continua a mesma. Abaixo está o código, eu usei para recarregar minha grade.

    function refreshGridWithNewStore() {
require([
"dojox/grid/DataGrid",
"dojo/store/Memory",
"dojo/data/ObjectStore",
"dojo/request",
"dojo/domReady!"
],
function (DataGrid, Memory, ObjectStore, request) {
request.get("DataPage.aspx", {
handleAs: "json"
}).then(function (data) {
grid.store.close();
dataStore = new ObjectStore({ objectstore: new Memory({ data: data }) });
grid.setStore(dataStore);
grid.render();
});
});
}

Respostas:

0 para resposta № 1

Tente mudar a propriedade objectstore para objectStore. Tanto quanto eu sei, é "sensível a maiúsculas", então objectstore não é o mesmo que objectStore. Mesmo o grid.render() não é necessário eu acho.

Então seu código se tornaria:

dataStore = new ObjectStore({ objectStore: new Memory({ data: data }) });

Eu também fiz um exemplo JSFiddle.

Se isso não funcionar, tente usar o startup() função. Alguns widgets precisam ser completamente reconstruídos após a alteração da loja e o uso de algo como o código abaixo pode ajudar na sua situação.

grid.startup();