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.

War es hilfreich?

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();
   ...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top