2010-12-30 8 views

Respuesta

20
this.store = new Ext.data.Store({ 
    ... 
    listeners: { 
     load: function() { 
      this.grid.getSelectionModel().selectFirstRow(); 
     }, 
     scope: this 
    } 
}); 

this.grid = new Ext.grid.GridPanel({ 
    ... 
    store: this.store 
}); 

Algo como esto debería funcionar, asumiendo this.store y this.grid existe, estoy seguro que se puede adaptar.

+1

¿Por qué debería haber una cuadrícula en el objeto de la tienda? Usualmente es al revés. – Mchl

+0

Porque el evento de carga se desencadena desde la tienda, no desde la red. No digo que Store también tenga una propiedad de cuadrícula, de hecho debes tener tus propias referencias en 'this' para que esto funcione, pero debería tener eso de todos modos. – Lloyd

2

Solo estoy reiterando la respuesta de Lioyd.
También asegúrese de haber configurado RowSelection Model en la grilla.

var grid = new Ext.grid.GridPanel({ 
       store: ...., 
       sm: new Ext.grid.RowSelectionModel({singleSelect: true}), 

       // other grid configurations goes here 
       listeners: { 
       render : function(grid){ 
        grid.store.on('load', function(store, records, options){ 
        grid.getSelectionModel().selectFirstRow();  
        });      
       } 
       } 
      })  
+0

Es posible que tenga algunos problemas de alcance y redundancia aquí. – Lloyd

+6

grid.getSelectionModel(). Select (0); – Danny

+0

@Danny: Su línea de código funciona - Gracias – Sam

Cuestiones relacionadas