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

25sept/094

DataFilterLib – Filtres de type DataFilterInterval, opérateurs et sliders

Dans le tutorial DataFilterLib précédent, on a vu comment utiliser les filtres de type DataFilterSingleValue, qui fonctionnent par recherche de chaîne, principalement. On va maintenant voir les filtres de type DataFilterInterval, permettant de filtrer des valeurs suivant si elles sont comprises dans un intervalle ou non.

Les différents opérateurs applicables sur un DataFilterInterval

De base, la librairie DataFilterLib propose plusieurs opérateurs de base. Ces opérateurs servent à indiquer au filtre comment il doit comparer la valeur d'entrée par rapport à la valeur à filtrer.

Afin de déterminer le type de filtrage, la librairie propose, de base, plusieurs opérateurs (4 à ce jour), présents dans la classe DataFilterIntervalOperator:

  • IntervalClosed: Intervalle fermé à gauche et à droite  (min<= value <= max)
  • IntervalOpen: Intervalle ouvert  (min< value < max)
  • IntervalOpenLeft: Intervalle fermé  à droite  (min< value <= max)
  • IntervalOpenRight: Intervalle fermé à gauche  (min<= value < max)

Pour cela, il suffit de choisir une des constantes (static) de la classe DataFilterIntervalOperator et de l'assigner à la propriété "filterOperator" d'un objet DataFilterParameters. Les constantes sont données comme référence, il est préférable de les utiliser plutôt que d'utiliser directement les valeurs associées.

Ainsi, ces deux portions de code sont équivalentes:

filterOperator="{DataFilterIntervalOperator.INTERVAL_CLOSED}"
//
filterOperator="IntervalClosed"

Les propriétés communes à tous les filtres

Tous les filtres de la DataFilterLib ont des propriétés communes comme par exemple la possibilité d'activer ou non un filtre (par l'intermédiaire de la propriété "active". Vous avez aussi la possibilité d'inverser un filtre grâce à la propriété "invert". Si la propriété invert d'un filtre est mise à true, vous n'aurez que les éléments filtrés. Par exemple, sur un filtre de type INTERVAL_CLOSED, vous n'aurez que les éléments qui ne sont pas compris dans l'intervalle, etc.

25sept/090

DataFilterLib – Filtres de type DataFilterSingleValue, opérateurs et valeurs multiples

Dans le tutorial DataFilterLib précédent, on a vu en détail comment créer un filtre simple (filtre de type "commence par"). Dans ce tutorial, on va voir aller plus loin dans l'utilisation des filtres de type DataFilterSingleValue.

Les différents opérateurs applicables sur un DataFilterSingleValue

De base, la librairie DataFilterLib propose plusieurs opérateurs de base. Ces opérateurs servent à indiquer au filtre comment il doit comparer la valeur d'entrée par rapport à la valeur à filtrer.

Afin de déterminer le type de filtrage, la librairie propose, de base, plusieurs opérateurs (3 à ce jour), présents dans la classe DataFilterSingleValueOperator:

  • StartsWith: La valeur à filter commence par la valeur d'entrée (comme un LIKE %VAL en SQL)
  • EqualsTo: La valeur à filter est strictement égale à la valeur d'entrée
  • Like: La valeur à filtrer contient la valeur d'entrée (comme un LIKE %VAL% en SQL)

Pour cela, il suffit de choisir une des constantes (static) de la classe DataFilterSingleValueOperator et de l'assigner à la propriété "filterOperator" d'un objet DataFilterParameters. Les constantes sont données comme référence, il est préférable de les utiliser plutôt que d'utiliser directement les valeurs associées.

Ainsi, ces deux portions de code sont équivalentes:

filterOperator="{DataFilterSingleValueOperator.STARTS_WITH}"
//
filterOperator="StartWith"

Les propriétés communes à tous les filtres

Tous les filtres de la DataFilterLib ont des propriétés communes comme par exemple la possibilité d'activer ou non un filtre (par l'intermédiaire de la propriété "active". Vous avez aussi la possibilité d'inverser un filtre grâce à la propriété "invert". Si la propriété invert d'un filtre est mise à true, vous n'aurez que les éléments filtrés. Par exemple, sur un filtre de type STARTS_WITH, vous n'aurez que les éléments qui ne commencent pas par la valeur entrée, etc.