2010-01-13 7 views
0

J'ai un DataGrid très simple avec 2 colonnes, quelque chose comme ceci:DataGrid - Modifier la ligne sélectionnée lorsqu'un bouton est cliqué

<mx:DataGrid id="grid" > 
    <mx:columns> 
     <mx:DataGridColumn dataField="name" headerText="Name"/> 
     <mx:DataGridColumn dataField="date" headerText="Date"/> 
    </mx:columns> 
</mx:DataGrid> 

Que Im essayant de faire est d'activer l'édition de la ligne sélectionnée lorsque l'utilisateur clique sur un bouton. Jusqu'à présent, j'ai été incapable de trouver un exemple de la façon de le faire. J'ai déjà essayé 6 ou 7 approches différentes mais non fonctionnelles. Est-ce que quelqu'un a une idée de comment faire cela?

Comment obtenez-vous la ligne sélectionnée (NON selectedItem) d'un DataGrid et comment pouvez-vous:

  • Modifier le ItemRenderEditor ou ItemRenderer à la volée de seulement cette ligne.
  • Vous pouvez également activer l'édition de cette ligne spécifique sans cliquer dessus.

Ce sont les questions que j'ai été incapable de répondre

aide sera grandement appréciée.

Répondre

2

Vous pouvez obtenir la ligne sélectionnée avec la propriété grid.selectedIndex. Une pensée à vous problème:

  • Ajouter un « modifiable » propriété pour vous des éléments dans la grille de données qui est faux par défaut
  • En cliquant sur le bouton, réglez grid.selectedItem.editable = true;
  • changement à un nouveau moteur de rendu de l'élément de la grille, qui affiche des champs TextInput si un élément est étiquette modifiable ou tout simplement si ce n'est pas

Vous pouvez modifier le moteur de rendu de l'élément lors de l'exécution comme ceci:

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer); 
Questions connexes