Comment utiliser le contrôle MultipleLookupField
de SharePoint : Un guide étape par étape
Lorsque vous travaillez avec SharePoint, vous pouvez rencontrer des situations où vous devez associer plusieurs éléments d’une liste avec un élément d’une autre liste. Un contrôle utile pour atteindre cet objectif est le MultipleLookupField
. Dans cet article, nous vous guiderons à travers l’utilisation du contrôle MultipleLookupField
étape par étape, en veillant à ce que vous compreniez comment afficher et gérer plusieurs valeurs de recherche au sein de vos parties Web.
Le problème : connecter deux listes
Le principal défi consiste à intégrer le contrôle MultipleLookupField
dans une page Web qui s’exécute dans le contexte de SharePoint. Vous pouvez souhaiter lier deux collections de champs SharePoint, telles que des tâches et des documents. Cela nécessite une configuration de base ainsi qu’une compréhension de la manière de manipuler efficacement le contrôle.
Commencer avec MultipleLookupField
Étape 1 : Créez votre environnement SharePoint
- Créer un site d’équipe : Commencez par créer un nouveau site d’équipe dans SharePoint.
- Ajouter des tâches : Allez dans la liste des tâches et créez quelques tâches.
- Créer un document : Téléchargez un document dans la bibliothèque Documents partagés.
- Créer une colonne de recherche :
- Dans la bibliothèque Documents partagés, créez une nouvelle colonne nommée “Relatif”.
- Paramétrez cette colonne en tant que champ de recherche qui référence le champ “Titre” de la liste des tâches.
- Assurez-vous de permettre plusieurs valeurs pour cette colonne.
Étape 2 : Créer la partie Web
Pour commencer à utiliser le MultipleLookupField
, vous devez créer une partie Web. Voici un exemple simplifié pour vous guider à travers ce processus.
Structure de base de votre partie Web
Label l;
MultipleLookupField mlf;
protected override void CreateChildControls()
{
base.CreateChildControls();
SPList list = SPContext.Current.Web.Lists["Documents partagés"];
if (list != null && list.Items.Count > 0)
{
LiteralControl lit = new LiteralControl("Associer les tâches à " + list.Items[0].Name);
this.Controls.Add(lit);
mlf = new MultipleLookupField();
mlf.ControlMode = SPControlMode.Edit;
mlf.FieldName = "Relatif";
mlf.ItemId = list.Items[0].ID;
mlf.ListId = list.ID;
mlf.ID = "Relatif";
this.Controls.Add(mlf);
Button b = new Button();
b.Text = "Changer";
b.Click += new EventHandler(bClick);
this.Controls.Add(b);
l = new Label();
this.Controls.Add(l);
}
}
void bClick(object sender, EventArgs e)
{
l.Text = "";
foreach (SPFieldLookupValue val in (SPFieldLookupValueCollection)mlf.Value)
{
l.Text += val.LookupValue.ToString() + " ";
}
SPListItem listitem = mlf.List.Items[0];
listitem["Relatif"] = mlf.Value;
listitem.Update();
mlf.Value = listitem["Relatif"];
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
EnsureChildControls();
}
Étape 3 : Déployer votre partie Web
- Compiler et déployer : Compilez votre code et déployez la partie Web dans votre environnement SharePoint.
- Ajouter la partie Web à votre site : Accédez à la page d’accueil de votre site d’équipe et ajoutez une instance de votre nouvelle partie Web.
Comprendre le gestionnaire d’événements de clic
Le gestionnaire d’événements de clic bClick
est crucial pour mettre à jour l’interface utilisateur.
- Récupération des valeurs : Il commence par récupérer toutes les valeurs sélectionnées dans le
MultipleLookupField
et les affiche. - Mise à jour de l’élément de liste : Il met à jour le champ “Relatif” dans la liste de documents avec les tâches sélectionnées, assurant la synchronisation entre l’interface utilisateur et l’élément de liste.
Remarques supplémentaires
- L’exemple fourni est assez basique : il est important de noter qu’il manque une gestion d’erreurs complète et qu’il n’est pas destiné à un usage en production. Envisagez de l’étendre pour une meilleure convivialité.
- Vous pourriez constater que si vous commentez la ligne
mlf.Value = listitem["Relatif"];
, l’interface utilisateur peut ne pas se synchroniser correctement avec les données sous-jacentes, rendant cette ligne nécessaire pour un bon fonctionnement.
Conclusion
En suivant les étapes décrites ci-dessus, vous pouvez intégrer avec succès le contrôle MultipleLookupField
dans votre site SharePoint. Cela permet une gestion efficace des éléments liés provenant de différentes listes, améliorant ainsi votre expérience globale avec SharePoint. Avec un peu de pratique et de perfectionnement, vous pouvez transformer ces principes de base en solutions puissantes adaptées à vos besoins spécifiques.
N’hésitez pas à nous contacter pour toute question ou à partager vos expériences d’utilisation du contrôle MultipleLookupField
dans SharePoint !