Zugang ExtJS Grid Spaltenmodell aus anderer Datei
-
06-07-2019 - |
Frage
Ich habe ein ExtJS Gitter, das eine Schaltfläche darin eingerichtet hat. Die Taste löst eine Funktion, die in andere JS-Datei definiert ist, die in der Rasterseite enthalten sind. Die Funktion löst in Ordnung, aber in dieser Funktion möchte ich die Spalten wie diese zählen bekommen:
grid.getColumnModel().getColumnCount()
Das Problem ist, dass ich einen Fehler wie bekommen. Grid.getColumnModel ist keine Funktion
In PHP würde ich einen „global $ ext“ machen und dann diese Funktion zugreifen. Wie kann ich dies in Ext tun? Wie kann ich das Gitter aus anderer Datei zugreifen? Was muss definiert werden?
Danke.
Lösung
Wie haben definieren Sie das Rasterobjekt? Haben Sie es wie folgt tun:
var grid = new Ext.grid.GridPanel(...);
Wenn ja, ist das Rasterobjekt nicht in globalem Bereich. Entfernen Sie die „var“ und sehen, ob es hilft.
Andere Tipps
Das sieht wie ein Umfang Thema. Siehe Variable Umfang in JavaScript rel="nofollow.
Im Grunde können Sie tun:
my_global_grid = ... // accessible in the current ~global~ context (document, window)
var my_local_grid = ... // accessible only in the function
window.my_window_global_grid = ... // accessible in the same window
Sie können auch das Rasterobjekt in Ihre Funktion als Argument übergeben:
function myFunction(arg1,arg2,grid){
...
var count = grid.getColumnModel().getColumnCount();
...
}