Procédure : créer une définition de type de champ personnalisé
Dernière modification : vendredi 9 avril 2010
S’applique à : SharePoint Foundation 2010
Une définition de type de champ est un fichier XML, dont le nom suit le modèle fldtypes*.xml, qui est déployé dans le répertoire %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML. Les types de champs fournis avec SharePoint Foundation sont contenus dans le fichier FLDTYPES.XML. Un fichier de définition de champ contient les informations dont SharePoint Foundation a besoin pour effectuer correctement le rendu du champ dans les affichages de liste et sur les formulaires Affichage, Modifier et Nouveau. Le nom et la description du type de champ, tels qu’ils apparaissent dans les pages d’interface utilisateur, telles que Personnaliser [la liste], Nouvelle colonne de site et Créer une colonne, sont également configurés dans la définition du type de champ. Plus important encore, la définition contient des informations sur l’assembly qui comporte le type de champ compilé.
Pour reconnaître un type de champ personnalisé, SharePoint Foundation doit disposer d’une définition de type de champ dans un fichier fldtypes*.xml. Vous pouvez créer ces fichiers dans Visual Studio dans le cadre d’un projet de type de champ personnalisé. Par exemple, si vous disposez d’une définition pour un type de champ définissant un numéro de sécurité sociale, vous pouvez attribuer le nom fldtypes_ssn_Contoso.xml au fichier XML.
Notes
Nous vous conseillons de suivre un modèle d’affectation des noms systématique et d’inclure le nom de votre société pour que vos définitions de champs figurant dans le répertoire ... \XML puissent être facilement identifiées parmi celles d’autres fournisseurs de solutions. Un même fichier peut contenir plusieurs définitions de champ (comme dans l’exemple ci-après), mais cette stratégie peut être risquée lorsque vous savez que plusieurs types de champs seront toujours déployés ensemble. Toutefois, pour simplifier les instructions, le Kit de développement logiciel (SDK) SharePoint Foundation suppose la plupart du temps que chaque fichier fldtypes*.xml personnalisé ne contient qu’un seul type de champ personnalisé. Le fichier FLDTYPES.XML fourni avec SharePoint Foundation contient plusieurs définitions de type de champ. La modification de ce fichier n’est pas prise en charge.
Voici une liste des éléments contenus dans la définition de type de champ. Cliquez sur le nom d'un élément pour plus d'informations sur cet élément.
Élément conteneur de niveau supérieur pour le fichier fldtypes*.xml. |
|
Élément conteneur de niveau supérieur pour une définition de type de champ. |
|
Élément qui représente une caractéristique unique du type de champ. |
|
Élément qui définit des propriétés de type de champ variables. Obsolète. |
|
<Fields, élément (schéma de propriétés des types de champs)> |
Élément conteneur de niveau supérieur dans un élément PropertySchema. Obsolète. |
Élément qui représente une propriété variable d’un type de champ personnalisé qui est définie lors de la création d’une colonne basée sur le type de champ.Obsolète. |
|
<Default, élément (schéma de propriété des types de champs)> |
Élément qui représente la valeur par défaut d’une propriété d’un type de champ personnalisé. Obsolète. |
Élément qui définit le rendu du champ dans certaines circonstances. Obsolète. |
Exemple de définition de types de champs
Le code exemple qui suit définit deux types de champs personnalisés.
<?xml version="1.0" encoding="utf-8" ?>
<FieldTypes>
<FieldType>
<Field Name="TypeName">SocialSecurityNumber</Field>
<Field Name="ParentType">Text</Field>
<Field Name="TypeDisplayName">Social Security Number</Field>
<Field Name="TypeShortDescription">Social Security Number (123456789, 123-45-6789)
</Field>
<Field Name="AllowBaseTypeRendering">TRUE</Field>
<Field Name="FieldTypeClass">
AdventureWorks.FieldTypes.SSNField, AdventureWorks.FieldTypes,
Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
</Field>
</FieldType>
<FieldType>
<Field Name="TypeName">USAddress</Field>
<Field Name="ParentType">MultiColumn</Field>
<Field Name="TypeDisplayName">US Address</Field>
<Field Name="TypeShortDescription">US Address(12345 NE 123 St. Redmond, WA 98052)
</Field>
<Field Name="UserCreatable">TRUE</Field>
<Field Name="FieldTypeClass">
AdventureWorks.FieldTypes.USAddressField, AdventureWorks.FieldTypes,
Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
</Field>
</FieldType>
</FieldTypes>
Définitions de type de champ dans le modèle objet
Après avoir déployé une solution de type de champ, vous pouvez accéder à la définition de type de champ dans le modèle objet SharePoint Foundation en tant qu’objet SPFieldTypeDefinition. La plupart des paramètres que vous définissez dans le fichier XML de définition de type de champ sont représentés en tant que membres en lecture seule de la classe SPFieldTypeDefinition. La plupart des propriétés de cette classe possèdent le même nom que le paramètre correspondant dans le fichier fldtypes*.xml. Pour plus d’informations sur les exceptions, voir Field, élément (types de champs).
Les éléments RenderPattern et PropertySchema sont obsolètes. L’élément RenderPattern n’est pas accessible par le biais de la classe SPFieldTypeDefinition. L’élément PropertySchema peut être lu dans la propriété PropertySchema comme une chaîne XML.
Voir aussi
Tâches
Procédure pas à pas : création d'un type de champ personnalisé