DataGrid - Modificare la riga selezionata quando un pulsante viene cliccato
-
20-09-2019 - |
Domanda
ho una molto semplice DataGrid con 2 colonne, qualche cosa in questo modo:
<mx:DataGrid id="grid" >
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="date" headerText="Date"/>
</mx:columns>
</mx:DataGrid>
Che cosa Im cercando di fare è di attivare l'edizione della riga selezionata quando l'utente fa clic su un pulsante. Finora sono stato in grado di trovare alcun esempio di come fare questo. Ho già provato 6 o 7 diversi approcci, ma non funziona. Se uno ha un indizio come fare questo?
Come si ottiene la riga selezionata (NON selectedItem) di un DataGrid e come si può:
- Modificare l'ItemRenderEditor o itemRenderer al volo di poco quella riga.
- o abilitare l'edizione di quella riga specifico senza clic su di esso.
Questa sono le domande che sono stato in grado di rispondere
Guida sarà molto apprezzato.
Soluzione
È possibile ottenere la riga selezionata con la proprietà grid.selectedIndex. Un pensiero a voi problema:
- Aggiungi una proprietà "modificabile" per gli articoli del datagrid che è falso per default
- Quando si fa clic sul pulsante, set grid.selectedItem.editable = true;
- Modifica oggetto renderer della griglia ad uno nuovo, che visualizza i campi TextInput se un oggetto è modificabile o semplicemente etichetta se non è
È possibile modificare il renderer di voci in fase di esecuzione in questo modo:
grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);