Partager via


Procédure : créer des propriétés à valeurs multiples

Les propriétés prennent maintenant en charge les valeurs multiples. De nombreux scénarios peuvent bénéficier utilement de cette amélioration, par exemple lors de la définition de propriétés qui contiennent habituellement plusieurs valeurs, comme les centres d'intérêt d'un utilisateur et ses domaines de compétence.

Le paramètre IsMultiValued du modèle objet indique si la propriété est à valeurs multiples ou non. Toutefois, ce paramètre ne peut pas être modifié une fois qu'il est défini, exactement comme le type de données de la propriété.

Le modèle objet renvoie les valeurs multiples d'une propriété sous la forme d'un objet ArrayList. L'ordre des valeurs de la collection suit l'ordre de mise à jour. Vous trouverez un exemple dans Procédure : attribuer plusieurs valeurs à une propriété à valeurs multiples.

Les propriétés à valeurs multiples peuvent en outre être indexées. Actuellement, la Recherche de contenu d'entreprise dans Microsoft Office SharePoint Server 2007 prend en charge les clauses Contains et Equals pour ces propriétés.

Notez que Office SharePoint Server 2007 vous permet de mapper une propriété à valeurs multiples au niveau de la source de connexion à une propriété de portail à valeur unique. Lorsque vous importez des propriétés, cette opération tente d'obtenir la première valeur de la source.

L'exemple de code suivant montre comment créer des propriétés à valeurs multiples. Si vous utilisez cet exemple, remplacez servername par une valeur réelle. Ajoutez aussi des références aux éléments suivants dans votre projet Microsoft Visual Studio :

  • Microsoft.Office.Server

  • Microsoft.SharePoint

  • System.Web

Exemple

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server;
using Microsoft.Office.Server.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using System.Web;


namespace UserProfilesApp
{
    class Program
    {
        static void Main(string[] args)
        {

            using (SPSite site = new SPSite("https://servername"))
            {
                ServerContext context =
                    ServerContext.GetContext(site);
                UserProfileManager profileManager = new
                    UserProfileManager(context);
                try
                {
                    //Get the properties
                    PropertyCollection pc =
                        profileManager.Properties;
                    Property p = pc.Create(false);
                    p.Name = "PublishedPapers";
                    p.DisplayName = "Published Papers";
                    p.Type = "string";
                    p.IsMultivalued = true;
                    p.IsUserEditable = true;
                    p.IsVisibleOnEditor = true;
                    p.IsVisibleOnViewer = true;
                    p.DefaultPrivacy = Privacy.Public;
                    p.PrivacyPolicy = PrivacyPolicy.OptIn;
                    pc.Add(p);                }
                catch (DuplicateEntryException e)
                {
                    Console.WriteLine(e.ToString());
                }
                catch (System.Exception e2)
                {
                    Console.WriteLine(e2.ToString());
                }
            }
        }
    }
}

Voir aussi

Autres ressources

Procédure : attribuer plusieurs valeurs à une propriété à valeurs multiples
Procédure : changer le caractère de séparation par défaut pour l'entrée de propriétés à plusieurs valeurs
Procédure : créer des propriétés avec des listes de choix
Procédure : définir des stratégies de confidentialité pour les propriétés de profil utilisateur