Javascript dojodatagrid中的刷新问题

Javascript dojodatagrid中的刷新问题,javascript,datagrid,dojo,Javascript,Datagrid,Dojo,我在函数的第一次调用时创建并加载数据网格,然后尝试使用以下代码刷新数据网格 function loadgrid(str) { require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore', 'dojo/dom', 'dojo/domReady!'], function(lang, DataGrid, ItemFileWriteStore, dom)

我在函数的第一次调用时创建并加载数据网格,然后尝试使用以下代码刷新数据网格

function loadgrid(str)
{
        require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore', 'dojo/dom', 'dojo/domReady!'],
        function(lang, DataGrid, ItemFileWriteStore, dom)
        {
          var data = 
            {
                identifier: "id",
                items: []
            };
            var data_list =  JSON.parse(str);
             for(var i = 0, l = data_list.length; i < l; i++)
            {
                data.items.push(lang.mixin({ id: i+1 }, data_list[i]));
            }
        var store = new ItemFileWriteStore({data: data});
        if(!document.getElementById("grid"))
        {
            var grid = new DataGrid(
            {
                id: 'grid',
                store: store,
                structure: layout,
                rowSelector: '20px',
                rowsPerPage:40
            });
            grid.layout.setColumnVisibility(1,false);
            grid.placeAt("gridDiv");
            grid.startup();
        }
        else
        {
            var grid = dijit.registry.byId("grid");
            grid.setStore = store;
            grid.render();
        }
     });

}
</script>
它运行良好,但网格仍保留在旧的数据存储中。这有什么不对吗?

而不是这个

var grid = dijit.registry.byId("grid");
grid.setStore = store;
grid.render();
我必须使用

var grid = dijit.registry.byId("grid");
grid.setStore(store);