7 – Gestion des données avec Flex
© Groupe Eyrolles, 2008
105
En réalité, les applications Flex utilisent principalement la classe
ArrayCollection plutôt que la classe Array. Un objet ArrayCollection
est similaire à un objet Array (il utilise d’ailleurs la classe Array comme
source), mais il fournit des fonctionnalités supplémentaires comme la
capacité de trier et filtrer les données. De plus, les objets
ArrayCollection sont habituellement utilisés pour enregistrer des données renvoyées par des composants d’accès aux données, comme HTTPService ou encore WebService et RemoteObject.
Pour finir, les objets ArrayCollection sont très couramment employés,
car ils peuvent être liés directement à certains composants Flex, par
exemple à un composant DataGrid (voir paragraphe suivant). De cette
façon, quand une donnée est modifiée dans un objet ArrayCollection, la
modification est immédiatement répercutée sur tous les composants liés.
Le data binding
Continuons à présent le développement de l’interface Edito en introduisant le principe du data binding (ou liaison de données).
Reprenons tout d’abord le code ActionScript commencé dans le fichier
Edito.mxml, puis ajoutons, après l’importation de la classe ResultEvent,
une variable privée que nous nommerons arrayCollectionEdito, de
type ArrayCollection ᕦ. Ce faisant, vous remarquerez que la classe
ArrayCollection s’importe automatiquement dans le code si vous utilisez Flex Builder.
Créer une liaison de données
Ici intervient la notion de data binding : nous devons créer une liaison de
données sur la variable arrayCollectionEdito afin que son contenu puisse
être ultérieurement lié à un composant du framework Flex. Ceci est possible en utilisant la directive de métadonnée [Bindable] ᕥ (qui signifie
« liable ») positionnée juste avant la déclaration de la variable à lier.
Enfin, à l’intérieur de la fonction editoHandler(), nous allons assigner
à la variable déclarée arrayCollectionEdito le contenu de l’objet
ArrayCollection qui a précédemment récupéré toutes les données intégrées dans le fichier XML ᕧ. Le code résultant de toutes ces opérations
est donc le suivant :
EN SAVOIR PLUS Le data binding
Le data binding est le processus d’assignation
de données d’un objet à un autre objet. Vous
pouvez donc lier les données de deux objets
visuels, par exemple deux champs de saisie
TextInput. Mais vous pouvez également lier
des données à partir d’objets non visuels, comme
une variable de donnée de type Array.
© Groupe Eyrolles, 2008
105
En réalité, les applications Flex utilisent principalement la classe
ArrayCollection plutôt que la classe Array. Un objet ArrayCollection
est similaire à un objet Array (il utilise d’ailleurs la classe Array comme
source), mais il fournit des fonctionnalités supplémentaires comme la
capacité de trier et filtrer les données. De plus, les objets
ArrayCollection sont habituellement utilisés pour enregistrer des données renvoyées par des composants d’accès aux données, comme HTTPService ou encore WebService et RemoteObject.
Pour finir, les objets ArrayCollection sont très couramment employés,
car ils peuvent être liés directement à certains composants Flex, par
exemple à un composant DataGrid (voir paragraphe suivant). De cette
façon, quand une donnée est modifiée dans un objet ArrayCollection, la
modification est immédiatement répercutée sur tous les composants liés.
Le data binding
Continuons à présent le développement de l’interface Edito en introduisant le principe du data binding (ou liaison de données).
Reprenons tout d’abord le code ActionScript commencé dans le fichier
Edito.mxml, puis ajoutons, après l’importation de la classe ResultEvent,
une variable privée que nous nommerons arrayCollectionEdito, de
type ArrayCollection ᕦ. Ce faisant, vous remarquerez que la classe
ArrayCollection s’importe automatiquement dans le code si vous utilisez Flex Builder.
Créer une liaison de données
Ici intervient la notion de data binding : nous devons créer une liaison de
données sur la variable arrayCollectionEdito afin que son contenu puisse
être ultérieurement lié à un composant du framework Flex. Ceci est possible en utilisant la directive de métadonnée [Bindable] ᕥ (qui signifie
« liable ») positionnée juste avant la déclaration de la variable à lier.
Enfin, à l’intérieur de la fonction editoHandler(), nous allons assigner
à la variable déclarée arrayCollectionEdito le contenu de l’objet
ArrayCollection qui a précédemment récupéré toutes les données intégrées dans le fichier XML ᕧ. Le code résultant de toutes ces opérations
est donc le suivant :
EN SAVOIR PLUS Le data binding
Le data binding est le processus d’assignation
de données d’un objet à un autre objet. Vous
pouvez donc lier les données de deux objets
visuels, par exemple deux champs de saisie
TextInput. Mais vous pouvez également lier
des données à partir d’objets non visuels, comme
une variable de donnée de type Array.
