John Walker
John Walker

Reputation: 1121

EXTJS how to get the component without declare id?

 Ext.define('MyApp.view.MyVehicleGridPanel', {
   extend: 'Ext.grid.Panel',
   alias: 'widget.mygrid',
   header: false,
   store: UserStore,
   multiSelect: false,
   columns: [
                {
                    xtype: 'gridcolumn',
                    dataIndex: '_id',

                    text: 'Vehicle ID'
                },
                {
                    xtype: 'gridcolumn',
                    width: 126,
                    dataIndex: 'Plat_No',
                    text: 'Plat Number'
                },
                {
                    xtype: 'gridcolumn',
                    width: 200,
                    dataIndex: 'Name',
                    text: 'Added By'
                }
            ]
})

i dont have any id declare in the gridpanel, because it will used in dynamicly,
so, i m using alias to find my grid component like below code

var grid = Ext.ComponentQuery.query('mygrid');
        console.log( Ext.ComponentQuery.query('mygrid') );
        if (grid.getSelectionModel().hasSelection()) { //error at here 
           var row = grid.getSelectionModel().getSelection()[0];
           console.log(row.get('Plat_No'));
        };      

But, firebug return error with TypeError: grid.getSelectionModel is not a function

any other way to find my gridpanel component?

Upvotes: 7

Views: 6723

Answers (1)

Akatum
Akatum

Reputation: 4016

Ext.ComponentQuery.query() returns an array of matched Components from within the passed root object.

So if you have only one mygrid component in your application, you can get your grid like this:

var grid = Ext.ComponentQuery.query('mygrid')[0];

Upvotes: 9

Related Questions