2012-01-31 11 views
1

グリッドの最初の行を選択しようとしています。ただし、次はあなたがちょうどあなたが配列を必要としない一つのレコードをしたい場合は私の見解ext 4のコントローラからグリッドの最初のレコードを選択します。

Ext.define('Pandora.view.PartsList', { 
    extend: 'Ext.grid.Panel', 
    alias: 'widget.partslist', 
    store: 'Parts', 
    initComponent: function() { 
     this.id = "partsViewGrid"; 
     this.height = 400; 
     this.xtype = 'gridpanel'; 
     this.border = 0; 
     this.columns = [ 
      { 
       xtype: 'gridcolumn', 
       id: 'description', 
       dataIndex: 'Name', 
       text: 'Descriptfion' 
      }, 
      { 
       xtype: 'gridcolumn', 
       id: 'done', 
       dataIndex: 'Completed', 
       text: 'Done', 
       renderer: renderProduct 
      } 
     ]; 

     this.callParent(); 
    } 
}); 

答えて

3

onLaunch: function() { 
     var partsStore = this.getPartsStore(); 
     partsStore.load({ 
      callback: this.onPartsLoad, 
      scope: this 
     }); 
    }, 
    onPartsLoad: function (selection) { 

     var grid = Ext.getCmp('partsViewGrid'); 
     grid.getSelectionModel().select(0); 
     var form = Ext.getCmp('partForm'); 
     form.loadRecord(selection[0]); 
    }, 

私に「未定義ビューは」

を与える「選択[0]」でそこ。 ExtJs 4.xでは、これはいつも私にとって役に立ちます:

grid.getSelectionModel().select(0) 
+0

私はあなたが正しいと確信しています。それはdocsが言うことです。しかし、私は店を取得していますが定義されていません。 – frosty

+0

グリッドはストアのデータをロードしていますか? – Geronimo

+0

ドキュメントは最初の行を選択するためにviewreadyを使用すると言いますが、あなたのサンプルを使用しているときは、 'TypeError:未定義の' id 'の未定義のIDを読み取れません。 – Jerinaw