2014-09-05 75 views
0

我在函數的第一次調用時創建並加載數據網格,之後我嘗試使用以下代碼刷新數據網格。DOJO數據網格中的刷新問題

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> 

它運行良好,但網格仍保留在舊的數據存儲中。那有什麼不對?

回答

0

取而代之的是

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

我不得不使用

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