Partager via


Procédure : créer des propriétés avec des listes de choix

Dans Microsoft Office SharePoint Server 2007, vous pouvez lier des propriétés de profil utilisateur à un vocabulaire imposant une liste de valeurs possibles, appelée liste de choix. La propriété ChoiceList sur l'objet Property du modèle objet Profils utilisateur vous permet d'associer une liste de choix à une propriété. Les listes de choix peuvent être dans l'un des trois modes suivants :

  • Closed   Les utilisateurs ne peuvent pas modifier les choix. L'administrateur dispose d'un contrôle total sur les choix de la propriété.

  • Open  Les utilisateurs peuvent ajouter de nouveaux choix.

  • None  La propriété n'utilise pas actuellement de liste de choix. Un administrateur peut toutefois activer cette fonction ultérieurement.

L'objet ChoiceList contient plusieurs méthodes pour rechercher des termes de vocabulaire, les supprimer et les renommer. Une fois que vous avez défini une propriété avec une liste de choix, vous ne pouvez pas la redéfinir sans liste. Si une propriété a été définie sans liste de choix, vous ne pouvez pas en ajouter une.

Lorsque vous utilisez le modèle objet pour essayer de définir une valeur, mais que celle-ci ne figure pas dans la liste du vocabulaire et que la liste est fermée, une exception InvalidValueException est déclenchée. Toutefois, pendant la procédure d'importation, Office SharePoint Server 2007 ignore la valeur si celle-ci ne figure pas dans la liste et que la liste est fermée.

Notes

Les valeurs ne respectent pas la casse.

Vous devez disposer de privilèges d'administrateur pour ajouter des propriétés avec des listes de choix et définir le mode de ces dernières. Les administrateurs peuvent utiliser cette fonctionnalité pour contrôler les valeurs acceptables d'une propriété. Seuls les administrateurs peuvent renommer et supprimer des choix.

L'exemple de code ci-après montre comment définir une propriété avec une liste de choix. Avant de l'exécuter, remplacez nomserveur par une valeur réelle. Ajoutez également les références de projet suivantes à votre projet Microsoft Visual Studio project :

  • 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);
                Property property = profileManager.Properties.Create(false);
                property.Type = PropertyDataType.String;
                property.Name = "Hobbies";
                property.DisplayName = "Hobbies";
                property.Length = 200;
                property.DefaultPrivacy = Privacy.Organization;
                property.PrivacyPolicy = PrivacyPolicy.OptIn;
                property.IsUserEditable = true;
                property.ChoiceType = ChoiceTypes.Closed;
                string[] SampleChoiceList = new string[] { "Xbox", "Bicycling", "Travel" };
                foreach (string choice in SampleChoiceList)
                {
                    property.ChoiceList.Add(choice);
                }
                property.Commit();
            }
        }
    }
}

Voir aussi

Autres ressources

Procédure : créer et modifier une propriété de profil utilisateur
Procédure : créer des propriétés à valeurs multiples
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 : définir des stratégies de confidentialité pour les propriétés de profil utilisateur