2010-11-30 5 views
2

Ich habe ein EditorGridPanel mit einer ComboBox in einer der Spalten.
Innerhalb eines Select-Ereignis-Listeners für diese ComboBox möchte ich wissen, auf welcher Rasterzeile (nicht ComboBox-Zeile) sie sich befindet.
Der Grund ist, dass ich jedes Mal, wenn ein Element ausgewählt wird, eine andere Spalte im Raster aktualisieren möchte.
Ich denke, ich vermisse wahrscheinlich etwas offensichtlich.Wie bekomme ich die aktuelle Zeile in einem Raster mit einem Combobox-Editor

Danke für jede Hilfe.

Antwort

1

Ok, für alle anderen, die versuchen, dies zu versuchen, fand ich, was eine undokumentierte Eigenschaft eines EditorGridPanel zu sein scheint: activeEditor.
Diese Eigenschaft enthält eine "record" -Eigenschaft, die eine Referenz auf den aktuellen Datensatz der ComboBox (oder alles, was wirklich) bearbeitet wird.
Es kann ein wenig gebrechlich sein (da es nicht dokumentiert ist), aber scheint zu funktionieren.

In ExtJs 4.2, die Eigenschaft des Rasters (für cellediting Plugin) zu verwenden ist:

grid.editingPlugin.getActiveRecord() 

Die Eigenschaft editingPlugin noch nicht erfasst scheint, während getActiveRecord() ist.

2

Ab 4.1 kann es am besten sein, stattdessen das edit Ereignis des Rasters zu verwenden. Sie werden in einem Ereignis übergeben, das den bearbeiteten Datensatz enthält.

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.grid.Panel-event-edit

+0

was ist, wenn ich eine Eigenschaft aus der Aufzeichnung verwenden möchten, die in der Combo gewählt wird? Ich denke, dass ich im Editierereignis nur auf displayField und valueField zugreifen kann - und nicht auf den gesamten Datensatz des Shops, der an das Combo gebunden ist. –

+0

Ich weiß nicht, was du meinst. Das Ereignis hat eine "record" -Eigenschaft, die der betreffende Datensatz ist. Warum funktioniert das nicht für dich? –

+1

das ist der Grid-Speicher-Datensatz, ich möchte den Combo-Speicher-Datensatz –

Verwandte Themen