Flash Builder 4 Débutant ? Découvrez Flex 4 et Adobe® Flash® Builder 4

Archive de septembre 28th, 2009

28
sept

DataFilterLib – Utilisation de multiple filtres sur une même collection

Dans les exemples sur la DataFilterLib précédent, on a vu comment faire des filtrages simple, que ce soit par valeur ou par intervalle. Ces fonctionnalités étaient "assez" facilement reproduisibles avec des filterFunctions mais on va maintenant voir une des principales fonctionnalités de la DataFilterLib, le filtrage de données selon plusieurs filtres.

Le filtrage avec plusieurs DataFilterParameters est très simple puisqu'il suffit d'ajouter des DataFilterParameters au DataFilterSet principal. Les filtres seront ainsi combinés entre eux. N'importe quelle combinaison de filtres est possible, y compris un mélange de filtres type SingleValue et d'Interval.

Voici par exemple le DataFilterSet utilisé dans l'exemple suivant:

  <filter:DataFilterSet id="filterSet"
                        data="{productData}">
    <filter:dataFilterParameters>
      <filter:DataFilterParameters id="tstIntervalParameters"
                                   filterType="{DataFilterType.INTERVAL}"
                                   filterKeys="{'productPrice'}"
                                   filterOperator="{DataFilterIntervalOperator.INTERVAL_CLOSED}"
                                   filterValues="{hsProductPrice.values}"
                                   active="{activeIntervalCB.selected}"
                                   invert="{invertIntervalCB.selected}"/>
      <filter:DataFilterParameters id="tstMultiValueParameter"
                                   filterType="{DataFilterType.SINGLE_VALUE}"
                                   filterKeys="productType"
                                   filterOperator="{DataFilterSingleValueOperator.EQUALS_TO}"
                                   filterValues="{singleValuesList.selectedItems}"
                                   invert="{invertListCB.selected}"
                                   active="{activeListCB.selected}"/>
      <filter:DataFilterParameters id="tstSingleValueParameter"
                                   filterType="{DataFilterType.SINGLE_VALUE}"
                                   filterKeys="{textFieldCB.selectedItem}"
                                   filterOperator="{textOperatorCB.selectedItem}"
                                   filterValues="{stringFilter.text}"
                                   active="{activeTextCB.selected}"
                                   invert="{invertTextCB.selected}"/>
    </filter:dataFilterParameters>
  </filter:DataFilterSet>

On a ici 3 filtres, 2 de type Singlevalue et un de type Interval. Le nombre de filtre n'est pas limité au sein d'un DataFilterSet.

Démonstration en ligne (onglet "Multiple Filters")

L'exemple suivant montre comment mettre en place de multiples filtres sur un même ArrayCollection. On peut ainsi facilement trouver les produits de type Home et Electro entre 80 et 250 euros. Toutes les combinaisons sont possibles. Pour intégrer ce genre de filtres dans votre application Flex, il vous suffit de lier les filtres aux bon champs de votre donnée et le tour est joué

This movie requires Flash Player 9




Bientôt sur flex-tutorial.fr …

  • - Tutoriaux BlazeDS
  • - Composants Flex

tutorial flex tutorial flex

flex Adobe Air AFCS Data Filter Lib ToasterLib librairies AS3 Flex livres AS3 Flex

 

septembre 2009
L Ma Me J V S D
« août   oct »
 123456
78910111213
14151617181920
21222324252627
282930  

Catégories