Comment puis-je savoir quand un Bouton dans un Flex DataGrid itemRenderer est cliqué?
J'ai un composant DataGrid qui affiche quelques colonnes de données. Il a une colonne supplémentaire qui affiche un Bouton qui permet à l'utilisateur de prendre une mesure à l'égard de l'enregistrement.
<mx:DataGrid dataProvider="{myData}">
<mx:columns>
<mx:DataGridColumn dataField="firstName" headerText="First Name"
width="75" />
<mx:DataGridColumn dataField="LastName" headerText=" Last Name"
width="150" />
<mx:DataGridColumn dataField="phone" headerText="Phone"
width="120" />
<mx:DataGridColumn headerText="" width="110">
<mx:itemRenderer>
<mx:Component>
<mx:Box horizontalAlign="center" width="100%">
<mx:Button label="Take Action" />
</mx:Box>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
J'ai besoin d'effectuer une action dans le composant parent, en utilisant d'autres données qui sont disponibles là-bas, mais sans lien avec les données dans la grille de données.
Quelle est la meilleure façon d'attraper le Bouton cliquez sur le composant parent, et de savoir ce qui enregistrement il correspond?
Dois-je utiliser un Événement Personnalisé, ou un itemEditor, ou quelque chose de complètement différent?
OriginalL'auteur Eric Belair | 2009-07-08
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de faire le itemRenderer une classe, puis de référence de votre grille de données depuis l'intérieur de la classe en utilisant les méthodes décrites ici. Vous pouvez ensuite dispatcher les événements de la grille de données, qui sont faciles à écouter dans le récipient qui la tient. Ce que vous ne voulez pas faire est de s'appuyer sur des bulles ou la tentative pour écouter la itemRenderer directement. Vous aurez probablement envie de créer un événement personnalisé qui transporte les données de propriété de la ligne de grille de données, de sorte que votre écouteur d'événement peut rapidement accéder à ces informations.
OriginalL'auteur
Merci Joël. Voici la dernière solution m'est venu après la lecture de cet article (que j'ai lu avant). Je veux ajouter un élément dont le Bouton a été cliqué sur un Tableau qui est une propriété d'un autre élément, donc je vous passe le "autre élément" dans le Composant DataGrid en tant que propriété, et effectuer des actions contre elle dans l'appel de fonction à partir de la itemRenderer:
OriginalL'auteur Eric Belair