Foro

Grid con selector de check precargarlo con valores al inicio

0
Hola Crysfel,

buenas tardes,   esto que me comentas es correcto para efecto del envío a guardar, esto ya lo tengo, mi problema es que al tratar de modificar un registro que tiene vinculada una asignación por estados no puedo poner aquellos que ya guarde como marcados para poder agregar mas o desmarcar alguno ya existente.


s = Ext.getCmp('gridEdo').getStore();

s.on('load',function(records){             
       this.each(function(record)     
         {      
                var selectedRecords = [];            
                if (record.data.checked == '1') 
               {       selectedRecords.push(record);      }    

          });                    
         Ext.getCmp('gridEdo').getSelectionModel().selectRecords(selectedRecords, true);     
});


pero no me funciona, si lo mando a la consola si me muestra los que están seleccionados pero no los pone marcados en el grid.
0
Lo que tienes que hacer es utilizar el evento refresh en lugar del evento load. Este evento se dispara cuando la información cambia en una manera de "bulk" (no se como traducir eso XD), un ejemplo claro es cuando haces un load al store.

store.on('refresh',function(){             
    var selectedRecords = [];  //<-- tiene que ir fuera del each
    this.each(function(record){      
       if (record.get('checked') == true) {       
           selectedRecords.push(record);      
        }    
    });                    
        
 grid.getSelectionModel().select(selectedRecords); //usa el método select
});

Tambien encontre algunos otros errores dentro de tu código, puedes encontrar el ejemplo completo en la siguiente URL: http://jsfiddle.net/rCnWp/

Me dices si esto te sirvió y no te olvides marcar la pregunta como resulta si con esto se resuelve.

Un Saludo

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.