Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

DataFilterLib – Filtrez votre donnée de manière simple et dynamique

Introduction à la DataFilterLib

DataFilterLib est une librairie Flex permettant d'effectuer un filtrage sur des données, principalement sur un ArrayCollection. De nombreux composants Flex tels que DataGrid, TileList, AdvancedDataGrid, ... utilisent des ArrayCollection comme fournisseur de données (data provider). Grâce aux mécanismes internes de mise à jour des ArrayCollection, un changement dans la donnée impacte directement les éléments affichés.

La classe ArrayCollection de Flex permet d'effectuer un filtrage grâce à la propriété filterFunction. Celle-ci permet d'assigner une fonction de callback qui va décider, pour chaque élément, s'il doit être filtré.

Cette méthode est pratique mais elle pose plusieurs inconvénients:

  • Le filtrage doit obligatoirement se faire par une fonction ActionScript
  • Il est difficile de faire du filtrage multiple (Voir comparatif de 5 méthodes de filtrage multiple)
  • Il n'existe pas de filtres de base, il faut toujours faire ses propres fonctions de filtrage

Les fonctionnalités de la DataFilterLib

La librairie DataFilterLib résout ces problèmes grâce à un ensemble de classes paramétrables.  Ces classes peuvent être directement définies en MXML ou en ActionScript (à l'exécution). Elle contient un ensemble de classes de base permettant de filtrer la donnée grâce aux manière les plus courantes (filtrage par intervalle de valeur ou bien recherche de chaînes). Des classes de filtre personnalisées peuvent aussi être ajoutées pour des traitement spécialisés.

Elle permet notamment:

  • Filtrage par recherche de chaîne (commence par, contient, strictement égal)
  • Filtrage par intervalle de valeur (nombre compris entre 2 valeurs
  • Filtrage par valeurs multiples, plusieurs catégories par exemple
  • Possibilité d'inverser tous les filtres, c'est-à-dire d'afficher seulement les données filtrées
  • Possibilité d'activer / désactiver des filtres

Exemples

Voici une série d'exemples pour montrer l'ensemble des capacités de la Flex DataFilterLib. La plupart font effet sur un ArrayCollection qui remplit une DataGrid pour simplifier mais rappelez vous que cet ArrayCollection peut aussi peupler d'autres composants comme les Charts ou une TileList. Les changements dus au filtrage auraient donc aussi un effet sur l'affichage de ces composants.

This movie requires Flash Player 11

Tutoriaux

Voici la liste des tutoriaux en français présents sur flex-tutorial:

Suivre le projet et télécharger les sources

Le projet Flex DataFilterLib est hébergé sur Google Code. Le code est libre d'utilisation, y compris commerciale.

Flex DataFilterLib sur Google Code

A partir de là, vous pourrez voir les derniers changements sur le projet et les demos mises à jour. Vous pourrez aussi y trouver la dernière version release en téléchargement:

Page de téléchargement de Flex DataFilterLib (SWC)

Les fichiers sources peuvent être récupérés par SVN (instructions). Vous pouvez bien sûr contribuer à ce projet en m'envoyant vos patches :) .