2012-07-08 44 views
2

有沒有人看到這段代碼有什麼問題?我正在效仿ExtJS的一個例子。網格面板正在顯示,但數據未被填充。ExtJS Grid Panel沒有從商店填充數據

Ext.onReady(function() { 

     var arrayData = [ 
      ['Jay Garcia', 'MD'], 
      ['Aaron Baker', 'VA'], 
      ['Susan Smith', 'DC'], 
      ['Mary Stein', 'DE'], 
      ['Bryan Shanley', 'NJ'], 
      ['Nyri Selgado', 'CA'] 
     ]; 

     var nameRecord = Ext.data.Record.create([ 
      { name : 'name', mapping : 1 }, 
      { name : 'state', mapping : 2 } 
     ]); 

     var arrayReader = new Ext.data.ArrayReader({}, nameRecord); 

     var memoryProxy = new Ext.data.MemoryProxy(arrayData); 

     var store = new Ext.data.Store({ 
      reader : arrayReader, 
      proxy : memoryProxy 
     }); 

     var colModel = new Ext.grid.ColumnModel([ 
      { 
       header : 'Full Name', 
       sortable : true, 
       dataIndex : 'name' 
      }, 
      { 
       header : 'State', 
       dataIndex : 'state' 
      } 
     ]); 

     var gridView = new Ext.grid.GridView(); 

     var selModel = new Ext.grid.RowSelectionModel({ 
      singleSelect : true 
     }); 

     var grid = new Ext.grid.GridPanel({ 
      title : 'My First Grid', 
      renderTo : Ext.getBody(), 
      autoHeight : true, 
      width : 250, 
      store : store, 
      view : gridView, 
      colModel : colModel, 
      selModel : selModel 
     }); 

}); 
+0

您使用的是什麼版本的ExtJs? – sha 2012-07-08 22:12:03

+0

我正在使用版本3.4 – ThinkingInBits 2012-07-08 22:21:35

+0

如果您正在開始新項目,我會建議使用最新版本4+ – sha 2012-07-08 22:41:35

回答

0

我找到了解決方案。

作者忘記在數據存儲中包含autoLoad:true。