2016-05-11 2 views
0

zu bilden, wie man Daten im Formpaneel nach Klicken eines der Daten im Pop-up in der Rasteransicht zeigt, habe ich einen anderen Weg aber immer falsch versucht, das ist mein Gitterplatte:wie man Wert vom Gitter sendet (Popup), zum des Feldes in extjs

var tt = Ext.define('Rendering.view.beli.dataSupplier', { 
extend: 'Ext.form.Panel', 
//extend: 'Ext.window.Window', 
// xtype: 'beligrid', 

alias : 'widget.contatoform', 

frame: true, 
// id: 'detailPanelis', 
title: 'Company data', 
bodyPadding: 5, 
layout: 'column', 
requires: [ 
    'Ext.grid.*', 
    'Ext.form.*', 
    'Ext.layout.container.Column' 
], 

initComponent: function() { 
    this.items = [ 
     { 
      columnWidth: 0.65, 
      xtype: 'gridpanel', 
      reference: 'customerGrid', 
      store: 'BeliStore', 
      columns : [{ 
       text: 'Nama', 
       dataIndex: 'namaSupplier', 
       flex: 1 

      }, { 
       text: 'Alamat', 
       dataIndex: 'address', 
       flex: 1 

      }], 
      listeners: { 


       scope: this, 
       selectionchange: 'onSelectionChanges' 
      } 


     }]; 
    //]; 
    // }); 
    this.callParent(arguments); 
}, 

onSelectionChanges: function(model, records) { 
     //alert('yuhuuuu'); 
    var editt = Ext.create('Rendering.view.beli.bg_beli'); 

    var c = editt.onSelectionChange(model, records); 

} 

}); 

die Funktion für Daten senden Panel zu bilden, ist

listeners: { 
       scope: this, 
       selectionchange: 'onSelectionChanges' 
      } 

dies ist abhängig von onSelectionChanges:

onSelectionChanges: function(model, records) { 
     //alert('yuhuuuu'); 
    var editt = Ext.create('Rendering.view.beli.bg_beli'); 

    var c = editt.onSelectionChange(model, records); 

    } 
Panel

und Form:

var tt = Ext.define('Rendering.view.beli.bg_beli', { 
extend: 'Ext.form.Panel', 

xtype: 'beligrid', 

controller: 'binding-dynamic', 
frame: true, 

title: 'Company data', 
bodyPadding: 5, 
layout: 'column', 



requires: [ 
    'Ext.grid.*', 
    'Ext.form.*', 
    'Ext.layout.container.Column' 
], 

// In this example, configuration is applied at initComponent time 
// because it depends on profileInfo object that is generated for the 
// FormGrid instance. 
initComponent: function() { 
    //Ext.apply(this, { 


    this.items = [ 
     { 
      columnWidth: 0.65, 
      xtype: 'gridpanel', 

      store: 'BeliStore', 
      columns : [{ 
       text: 'Nama', 
       dataIndex: 'namaSupplier', 
       flex: 1 

      }, { 
       text: 'Alamat', 
       dataIndex: 'address', 
       flex: 1 

      }], 
      listeners: { 

       scope: this, 
       selectionchange: 'onSelectionChange' 
      } 


     },{ 
      columnWidth: 0.35, 
      margin: '20 0 0 10', 
      xtype: 'form', 
      title:'Company detailsss', 
      layout: 'anchor', 

      defaultType: 'textfield', 
      items: [ 
      { 

       name : 'id_supplier', 
       fieldLabel: 'id', 
       hidden:true 
      },{ 
       fieldLabel: 'Nama Supplier', 
       name: 'namaSupplier' 

      },{ 
        fieldLabel: 'email', 
        name: 'email' 

      },{ 
        fieldLabel: 'alamat', 
        name: 'address' 

      },{ 
       xtype: 'button', 
       text: 'YUY', 
       action: 'add' 
      }] 

     }]; 
    //]; 
    // }); 
    this.callParent(arguments); 
}, 

onSelectionChange: function(model, records) { 

    alert('asdasd'); 


    console.log(records); 
    var rec = records[0]; 
    console.log(rec); 
    if (rec) { 
     var c = this.getForm().loadRecord(rec); 
    // this.getBeliStoreStore().load(); 
     console.log(this.getForm().loadRecord(rec)); 
    } 
} 

}); 

I-Daten vom Netz sende Platte zu bilden, und die Funktion, die Daten in Form Panel akzeptiert ist:

onSelectionChange: function(model, records) { 

    alert('asdasd'); 


    console.log(records); 
    var rec = records[0]; 
    console.log(rec); 
    if (rec) { 
     var c = this.getForm().loadRecord(rec); 
    // this.getBeliStoreStore().load(); 
     console.log(this.getForm().loadRecord(rec)); 
    } 
} 

bitte helfen, ich habe die Suche nach einer Referenz aber ich bekomme Antwort noch nicht, danke vor

+0

Welche Fehler sind Sie immer in der Konsole? Oder können Sie die Zeilendaten im Formular nicht sehen, wenn Sie sie im Raster auswählen? und auch, ¿Version von ExtJS? – qmateub

+0

Es gibt keinen Fehler in der Konsole, aber im Konsolenformular Panel (übergeordnete) Daten akzeptiert, aber im Formular kann die Daten nicht zeigen –

Antwort

0

Mein Vorschlag ist, den Aufruf für das Ereignis this.onSelectionChange ändern oder wie this.on ('selectionchange', this.onSelectionChange) es ist eine andere Möglichkeit für Aufrufereignisse in extjs

initComponent: function() { 

    var me = this ; 

    this.items = [ 
     { 
      columnWidth: 0.65, 
      xtype: 'gridpanel', 
      reference: 'customerGrid', 
      store: 'BeliStore', 
      columns : [{ 
       text: 'Nama', 
       dataIndex: 'namaSupplier', 
       flex: 1 

      }, { 
       text: 'Alamat', 
       dataIndex: 'address', 
       flex: 1 

      }], 
      listeners: {  
       scope: this, 
       selectionchange: me.onSelectionChanges 
      } 


     }]; 
    //]; 
    // }); 
    this.callParent(arguments); 
} 

OR 

initComponent: function() { 
    var me = this ; 

    var grid = Ext.create('Ext.grid.Panel', { 
        reference: 'customerGrid', 
        store: 'BeliStore', 
        columns : [{ 
         text: 'Nama', 
         dataIndex: 'namaSupplier', 
         flex: 1 

         }, { 
         text: 'Alamat', 
         dataIndex: 'address', 
         flex: 1 
        } 
        ]}); 

    me.items = [ 
     { 
      columnWidth: 0.65, 
      grid    

     }];  

    grid.on('selectionchange',me.onSelectionChange) 

    this.callParent(arguments); 
} 

http://docs.sencha.com/extjs/4.2.5/#!/example/build/KitchenSink/ext-theme-neptune/#form-grid

+0

this.on ('selectionchange', this.onSelectionChange) ist Funktion im Formularbereich aber Fehler, weil keine Funktion Übergeben Sie diese Methode, wenn ich in var ändere = Ext.create ('Rendering.view.beli.bg_beli'); edit.on ('selectionchange', edit.onSelectionChange), die Funktion kann übergeben und im Formularbereich (übergeordnet) akzeptiert werden, kann aber keine Daten im Formularbereich anzeigen. –

+0

hi, füge einfach einen Alias ​​für dein Hoot-Element hinzu, Wie "ich" und fügen Sie die Referenz für Sie Funktion hinzu, überprüfen Sie, dass ich den ersten Vorschlag geändert habe –

Verwandte Themen