Vue d'ensemble des composants WebPart Filtre

Les composants WebPart Filtre peuvent être très utiles sur les sites de gestion du décisionnel comprenant de nombreuses données. Ils fournissent une interface utilisateur (en règle générale, et susceptible d'être masquée) qui permet d'effectuer des recherches ou d'appliquer des critères de filtre pour une requête de données, par exemple dans une liste ou une table de base de données. Lorsque vous connectez un composant WebPart Filtre à un ou plusieurs composants WebPart sur la page qui offre des fonctionnalités de filtrage, ils affichent les résultats filtrés de la requête.

Avantages des composants WebPart Filtre

Les composants WebPart Filtre offrent des avantages pour les utilisateurs et les développeurs. Avec les filtres, les utilisateurs peuvent rechercher de nouvelles façons de consulter leurs données de manière significative. Imaginons que vous génériez une application dans laquelle un composant WebPart contacte un service Web, renvoie l'historique des températures quotidiennes moyennes pour l'ensemble des États-Unis, et affiche les données sous forme de tableau. Si un utilisateur souhaite pouvoir afficher les données en fonction d'un groupe d'états ou d'un état particulier, il peut connecter le composant WebPart à un composant WebPart Filtre qui permet de choisir différents états au moment de l'exécution et d'afficher différents résultats.

En utilisant les filtres, les développeurs peuvent découvrir de nouvelles possibilités de réutilisation du code et d'association de fonctionnalités de composants WebPart isolés. Imaginons qu'un développeur crée un composant WebPart qui enregistre les informations sur l'adresse de l'utilisateur, code postal inclus, et que celles-ci sont toujours disponibles pour remplir le formulaire de l'adresse de livraison quand l'utilisateur passe une commande. Le développeur ajoute ensuite d'autres composants WebPart qui dépendent d'un code postal spécifique, comme les composants WebPart permettant d'afficher les informations météo et les titres des nouvelles dans la région de l'utilisateur, aussi bien qu'un composant WebPart qui recherche les entreprises par catégorie en fonction d'un code postal donné. Au lieu de concevoir chaque nouveau composant WebPart avec la même fonctionnalité d'enregistrement du code postal, le développeur peut concevoir chaque composant WebPart de façon à demander la saisie d'un code postal. Le développeur peut ensuite simplement connecter le composant WebPart qui fournit déjà le code postal aux composants WebPart qui affichent la météo, les nouvelles et les entreprises, et qui acceptent un code postal comme entrée. Chaque connexion étend l'utilité du composant WebPart d'origine et élimine la redondance dans le code des nouveaux composants WebPart.

Implémentation et utilisation des composants WebPart Filtre

Windows SharePoint Services 3.0 utilise l'infrastructure de connexion des composants WebPart ASP.NET pour passer les critères de filtre d'un composant WebPart à d'autres composants WebPart avant l'exécution de la requête. Les connexions de composants WebPart ASP.NET sont basées sur la notion de fournisseurs et de consommateurs. Un composant WebPart fournisseur met à disposition des informations pour un ou plusieurs composants WebPart consommateurs via une interface de programmation. Le fournisseur expose des données via une interface bien définie, que le consommateur sait utiliser. Un composant WebPart Filtre est simplement un fournisseur particulier qui met à disposition les valeurs de filtre permettant à d'autres composants WebPart de filtrer les données.

ASP.NET fournit un ensemble intégré de composants de connexion ; par conséquent, en un nombre minimal d'étapes et quelques lignes de code, vous pouvez permettre à vos composants WebPart existants de former des connexions, sans vous heurter aux problèmes sous-jacents de complexité et de synchronisation des données. Windows SharePoint Services tire parti de l'infrastructure de connexion et fournit des interfaces supplémentaires appelées IFilterValues et IItransformableFilterValues afin de simplifier au maximum la création de connexions de composants WebPart pour les scénarios de filtrage.

Avec les composants WebPart Filtre, vous pouvez créer par programme des connexions dynamiques entre les composants WebPart au moment de l'exécution, ainsi que des connexions statiques prédéfinies déclarées dans le code d'une page Web. Windows SharePoint Services fournit également aux utilisateurs une interface utilisateur qui leur permet de connecter ou de déconnecter des composants WebPart au moment de l'exécution.

Les connexions de composants WebPart sont basées sur un modèle « d'extraction » de connectivité, dans lequel le composant WebPart consommateur obtient des données du composant WebPart fournisseur. Pour créer une connexion, un composant WebPart faisant office de fournisseur de données définit un contrat de communication qui spécifie les données qu'il peut fournir. Un autre composant WebPart, qui joue le rôle de consommateur et qui a pris connaissance du contrat de communication, récupère ces données.

Le mécanisme pour établir une connexion est une méthode de rappel spéciale : il en existe une chez le consommateur et une chez le fournisseur. Toutefois, la classe de base des composants WebPart gérant la totalité des détails de rappel et de communication, les étapes requises pour les développeurs sont minimes. En tant que développeur, si vous souhaitez utiliser l'approche la plus simple en matière de création de fournisseurs de filtres, tout ce que vous avez à faire est de sélectionner chez le fournisseur une méthode à utiliser comme méthode de rappel, et de la marquer dans le code source avec un attribut ConnectionProvider. Assurez-vous ensuite que cette méthode n'accepte pas de paramètres d'entrée et qu'elle renvoie l'instance d'interface ITransformableFilterValues contenant les données de filtre à passer au consommateur. L'instance d'interface peut être simple (par exemple, une seule propriété contenant une valeur de chaîne comme un code postal).

L'interface ITransformableFilterValues permet de spécifier les fonctionnalités de filtrage, par exemple la sélection multiple, et prend en charge les valeurs ALL ou Null. Cette interface permet également à Windows SharePoint Services 3.0 d'utiliser de manière interne des convertisseurs d'interface qui rendent possibles les communications entre les différents types d'interfaces.

La méthode de rappel du consommateur récupère l'instance de l'interface IFilterValues du fournisseur. Encore une fois, le développeur doit simplement identifier la méthode du consommateur (à l'aide d'un attribut ConnectionConsumer) qui va récupérer l'instance d'interface et l'assigner à une variable interne à des fins de traitement et de rendu. Notez que les données du fournisseur étant passées pendant la phase de pré-rendu de la page et le cycle du composant WebPart, vous devez prévoir de traiter les données et de mettre à jour la logique du consommateur, une fois le pré-rendu terminé.

Par ailleurs, dans la mesure où les noms de paramètres ne doivent pas forcément être mappés les uns aux autres chez le fournisseur et le consommateur, Windows SharePoint Services fournit une interface ConsumerParameters que le consommateur doit proposer avec les noms de paramètres au fournisseur.

Que se passe-t-il au moment de l'exécution ?

Au moment de l'exécution, les connexions de composants WebPart sont gérées par WebPartManager, comme suit :

  1. Pour chaque fournisseur inscrit, WebPartManager appelle la méthode de point de connexion correspondante.

  2. Le fournisseur renvoie une instance de l'interface de communication.

  3. Pour chaque consommateur inscrit auprès de ce fournisseur, WebPartManager appelle la méthode de point de connexion correspondant au consommateur, en passant une instance de l'interface.

  4. Le consommateur appelle les propriétés et méthodes de l'instance d'interface.

Composants WebPart Filtre prêts à l'emploi

Office SharePoint Server 2007 fournit par défaut les filtres suivants dans la Galerie de composants WebPart :

  • Filtre SQL Server 2005 Analysis Services

  • Filtre Choix

  • Filtre Catalogue de données métiers

  • Filtre Utilisateur actif

  • Filtre Date

  • Filtre Champ de page

  • Filtre Chaîne de requête (URL)

  • Filtre Liste SharePoint

  • Filtre Texte

  • Filtre UserProfile

Notes

Le composant WebPart Filtrer les actions n'est pas un filtre. Il fournit un bouton Appliquer des filtres qui vous permet d'appliquer tous les filtres sur la page.

Vous pouvez utiliser tous ces filtres dans vos composants WebPart personnalisés. Pour plus d'informations, voir Walkthrough: Writing a Simple Filter Consumer Web Part.

Voir aussi

Autres ressources

Procédure pas à pas : écriture d'un exemple de composant WebPart Filtre consommateur simple
Procédure : écrire un composant WebPart Filtre de case à cocher à sélection multiple
Procédure : utiliser le composant WebPart Filtre CheckBox à sélections multiples