2010-07-27 5 views
0

comment obtenir les enregistrements mis à jour, je remplace la fonction sur Ok pour enregistrer les modifications dans le formulaire. 1.i juste remplacer la fonction sur OK, mais pas en mesure d'obtenir un enregistrement modifié.bouton ok dans l'enregistrement Formulaire plugin dans extjs

Ext.override(Ext.ux.grid.RecordForm , { 
    onOK:function() { 

      updateRecord1(); 
     } 

}); 
function updateRecord1() {//alert('record'); 
var records =store.getModifiedRecords(); 
     if(!records.length) { 
      return; 
     } 
     var data = []; 
     Ext.each(records, function(r, i) { 
      var o = r.getChanges(); 
      if(r.data.newRecord) { 
       o.newRecord = true; 
      } 
      o[idName] = r.get(idName); 
      data.push(o); 
     }); 
     var o = { 
      url:gl_acc.php 
      ,method:'post' 
      ,params:{ 
       record:record.get('id'), 
       task:'update' 
      } 
     }; 
     Ext.Ajax.request(o); 
    } // eo function commitChanges 

Répondre

0

var records = this.store.getModifiedRecords();

+0

je suis PRÉPONDÉRANTS OnOK fonction du plugin sous forme d'enregistrement par Saki dans ExtJS, je ne suis pas en mesure de récupérer le dossier mis à jour. – mayuri

+0

J'ai jeté un coup d'oeil à la source, et il semble que pour obtenir le magasin, vous devez vous y référer via 'this.store' ou' this.grid.store'. Sauf si vous avez une variable globale appelée 'store', appeler' store.getModifiedRecords(); 'ne fera rien (excepté lever une exception) – Mchl

+0

ya ... quand j'essaie d'alerter records.length ça montre zéro..qu'est ce que je veux savoir comment obtenir l'enregistrement mis à jour – mayuri

Questions connexes