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.
Ü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. getEditor
als Konfigurationsoption definiert ist, wird die Funktion als getEditor( record )
aufgerufen und muss Ext.grid.CellEditor
zurückgegeben werden. Hier ist ein Beispiel für eine Spaltenkonfiguration. Es wird nur eine Combobox für ausgewählte Zeilen erstellt:
%Vor%Tags und Links extjs extjs4.2 extjs-grid