Question

J'ai un DataGrid très simple avec 2 colonnes, quelque chose comme ceci:

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

Qu'est-ce 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, je suis incapable de trouver un exemple de la façon de le faire. Je l'ai déjà essayé 6 ou 7 approches différentes, mais non des œuvres. 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 la ItemRenderEditor ou ItemRenderer à la volée de seulement cette ligne.
  • Ou permettre l'édition de cette ligne spécifique sans cliquer.

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

aide sera grandement apprécié.

Était-ce utile?

La solution

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

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

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

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top