So legen Sie den Editor für eine Spalte programmgesteuert in einem Raster fest

8

Ich habe eine Ext.grid.Panel mit einer Reihe von Spalten. Dieses Raster wird gefiltert, und abhängig vom Filter möchte ich einen Editor für eine Spalte definieren.

Mein Raster:

%Vor%

Nun möchte ich etwas tun wie:

%Vor%

Offensichtlich existieren die Methoden getColumns und setEditor nicht. Ich brauche daher eine andere Methode, um einen Editor für diese Spalte zu aktivieren.
Ich habe keine Methode gefunden, um auf die Spaltendefinitionen zuzugreifen, um sie zu ändern und das Gitter danach neu zu rendern.

Können Sie mir einen Hinweis geben, in welche Richtung gesucht werden soll? Danke.

    
Lorenz Meyer 03.12.2013, 13:53
quelle

1 Antwort

10

Überprüfen Sie die Dokumente für getEditor() auf Ext.grid.column.Column . Wenn Sie ein Bearbeitungs-Plugin verwenden, bietet das Plugin eine Implementierung für getEditor() , sowie setEditor() . Basierend auf der Spalte, die bearbeitet wird, und jeder benutzerdefinierten Logik, die Sie implementieren, können Sie eine benutzerdefinierte getEditor() -Methode implementieren, um basierend auf den Umständen die gewünschte Editorinstanz zurückzugeben.

Die Dokumentation sagt:

%Vor%

Das ist wirklich ein kleiner Teil der Wahrheit.

  • getEditor ist nicht nur eine Methode von Ext.grid.column.Column , sondern auch eine Konfigurationsoption.
  • Wenn getEditor als Konfigurationsoption definiert ist, wird die Funktion als getEditor( record ) aufgerufen und muss Ext.grid.CellEditor zurückgegeben werden.
  • Dies funktioniert mit dem cellediting-Plugin, aber nicht mit dem rowediting-Plugin.

Hier ist ein Beispiel für eine Spaltenkonfiguration. Es wird nur eine Combobox für ausgewählte Zeilen erstellt:

%Vor%     
existdissolve 03.12.2013, 14:42
quelle

Tags und Links