2016-04-18 11 views
1

Ich arbeite an einem Legacy ExtJS 4.2.1 Projekt. In der App habe ich eine Klasse, die Ext.window.Window erweitert. Die Klasse (Fenster) enthält mehrere Ext.grid.Panel Objekte.Warum stoppen meine Grid-Panel-Ereignisse in ExtJS 4?

Innerhalb jeder Gitterplatte, ich habe einige Zuhörer wie:

listeners: { 
    select: function(..) { 
     console.log('hello!'); 
    } 
} 

Wenn das Fenster zuerst und gezeigt instanziert wird, alle Feuer Veranstaltungen für jede Gitterplatte ganz gut, wie ich die Zeilen bin klicken.

Wenn ich das Fenster zum zweiten Mal öffne, wird jedoch keines der Ereignisse des Grid Panels ausgelöst.

Jede Gitterplatte hat folgendes Auswahlmodell:

selModel: Ext.create('Ext.selection.CheckboxModel', { 
    allowDeselect: false, 
    checkOnly: true, 
    ignoreRightMouseSelection: true, 
    injectCheckbox: 0 
}), 
selType: 'checkboxmodel', 

Ich kann mehr Code-Schnipsel zeigen, wenn nötig, aber ich kann nichts finden, dass aus dem üblichen heraus ist. Das heißt, ich bin mir nicht bewusst, dass irgendetwas Bizarres oder Gewohntes, das wir tun, jegliches Standardverhalten außer Kraft setzt.

Alle Informationen wären willkommen.

Danke.

Antwort

0

Kann aufgrund von Reputationsproblemen nicht kommentieren, sowieso das Fenster extjs, schließen Sie das Fenster oder verstecken Sie nur. D. CloseableAction ist geschlossen oder versteckt?

+0

Wir schließen das übergeordnete Fenster mit .close(); – cbmeeks

+0

Versuchen Sie, das Ereignis aus der View-Datei auszulösen und den Listener in die entsprechende abc-controller.js-Datei zu schreiben. Dies funktioniert möglicherweise gemäß den ExtJS-Richtlinien –