2016-05-03 7 views
0

ich ein Pop-up auf actioncolumn anzurufenden klickenWie Daten zu übergeben Popup aktiviert und wie es in Popup lesen

handler: function (view, rowIndex, colIndex, item, e, record, row) {        
         Ext.widget('Info').show(); 
        } 

Wenn ich record.get übergeben wollen (‚Vorname‘), dann wie um dies zu tun?

zur gleichen Zeit wie die gesendeten Daten in afterrender zu lesen

var infoForm = Ext.define('App.view.Report.Info', { 
extend: 'Ext.window.Window', 
listeners: { 
    afterrender: function() {     
    } 
} 

Antwort

-1

Verwenden Sie den folgenden Code einer beliebigen Taste-Wert zu übergeben

Ext.widget('Info',{ 
    'firstname' : record.get('firstname') 
}).show(); 

späteren Widget, können Sie es in afterrender Funktion nutzen können "this.firstname"

+0

Vielen Dank – user1893874

0

Sie this-

handler: function (view, rowIndex, colIndex, item, e, record, row) { 
    var infoWin=Ext.widget('Info'); 
    infoWin.firstName=record.get('firstname'); 
    infoWin.show(); 
} 


var infoForm = Ext.define('App.view.Report.Info', { 
extend: 'Ext.window.Window', 
listeners: { 
    afterrender: function (winObj) { 
     var firstName=winObj.firstName; 
    } 
} 

Da nach dem Erstellen Info Beispiel folgen können, es ist nichts anderes als ein Objekt und Sie können die Laufzeit der neuen Eigenschaften hinzufügen.

0

Sie eine Formpanel existieren in Ihrem Widget verwenden und verwenden Sie form.loadRecord(record) zum einfachen Laden von Daten in Formelementen. Hier ein Beispiel:

https://fiddle.sencha.com/#fiddle/19oe

Alternative:

handler: function(grid, rowIndex, colIndex) { 
    var record = grid.getStore().getAt(rowIndex); 
    Ext.create('App.view.Report.Info', { 
     record: record 
    }).show(); 
} 

Nach Render für widget:

Ext.define('App.view.Report.Info', { 
    extend: 'Ext.window.Window', 
    listeners: { 
    afterrender: function() { 
     if (this.record) { 
      console.log(this.record); 
     }     
    } 
}