RenderPattern, élément (Types de champs)
Dernière modification : vendredi 9 avril 2010
S’applique à : SharePoint Foundation 2010
Dans cet article
Attributs
Éléments enfants
Éléments parents
Important
Cette rubrique décrit le balisage qui était utilisé dans une méthode désormais obsolète de rendu des types de champs personnalisés dans les affichages de liste et dans les formulaires Affichage, Modifier et Nouveau. Elle est fournie uniquement pour faciliter le débogage d’un type de champ personnalisé initialement développé par rapport à une version antérieure de SharePoint Foundation. Pour plus d’informations sur les méthodes recommandées, voir Procédure : créer des modèles de rendu de champ et Procédure : créer un type de champ personnalisé.
Les champs personnalisés dont le rendu est défini avec le balisage RenderPattern continuent de s’afficher correctement dans les formulaires. Toutefois, SharePoint Foundation, par défaut, utilise des feuilles de style XSLT pour restituer les champs dans les affichages de liste, même pour les champs personnalisés hérités dont le rendu d’affichage de liste est défini avec un balisage RenderPattern. Pour activer le rendu d’un champ de ce type, vous devez ajouter un élément <Field Name="CAMLRendering">TRUE</Field> à l’élément FieldTypes conteneur dans le fichier de définition de type de champ (fldtype*.xml).
RenderPattern définit le code Langage CAML (Collaborative Application Markup Language) ou HTML ou le script réel que SharePoint Foundation peut utiliser pour restituer le type de champ dans l’interface utilisateur. De plus, dans les affichages de listes, cet élément restitue les en-têtes de colonne, d’après le type de champ sélectionné.
<RenderPattern Name="Text">
</RenderPattern>
Attributs
Attribut |
Description |
---|---|
Name |
Chaîne obligatoire. Représente le nom du modèle d'affichage que vous définissez dans cet élément RenderPattern. Les valeurs valides sont :
|
Éléments enfants
Aucun explicitement défini, mais cet élément est un conteneur de balisage CAML du Schéma d'affichage |
Éléments parents
Remarques
Héritage de RenderPatterns
S'il n'y a pas de RenderPattern avec une valeur Name particulière pour un type de champ, ce dernier hérite du RenderPattern du même nom à partir de son type de champ parent.
HeaderPattern
Si le rendu CAML est activé (voir plus haut), le type de champ doit avoir un type HeaderPattern d’élément RenderPattern, que ce soit directement ou par héritage, sinon l’en-tête de colonne du champ dans les affichages de liste ne s’affiche pas. Le balisage d’un HeaderPattern peut être assez simple lorsque le type de champ ne peut pas être trié ou filtré. Toutefois, si le type de champ peut être trié ou filtré, le balisage peut devenir plutôt complexe, car l’en-tête ne sert pas uniquement de titre de colonne, mais également de contrôle de menu déroulant pour le tri et le filtrage. En outre, et parce que la fonction de tri et de filtrage peut être désactivée pour des colonnes particulières (même lorsque le type de champ sur lequel repose la colonne les prend en charge), le balisage doit utiliser des éléments Switch pour vérifier si le tri ou le filtrage est activé pour la colonne. Voir %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML pour avoir des exemples.
DisplayPattern
Si le rendu CAML est activé (voir plus haut), un type de champ doit avoir le type DisplayPattern d’élément RenderPattern (par héritage, si ce n’est directement), afin que le champ puisse être affiché dans les affichages de liste. Cela n’est pas nécessaire pour restituer le champ dans le mode Affichage, par exemple dans la page Affichage (élément de liste), car un champ peut également être affiché en mode Affichage grâce à un contrôle d’affichage (fichier .ascx). Aucun des types de champs hérités proposés dans SharePoint Foundation n’utilise de contrôle d’affichage à la place d’un type DisplayPattern d’élément RenderPattern pour restituer le champ en mode Affichage.
Le type DisplayPattern de RenderPattern permet également de restituer le champ dans chaque ligne d’un affichage de liste. Par défaut, SharePoint Foundation utilise du balisage XSLT dans un fichier fldtypes*.xsl situé dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\XSL pour restituer les champs dans les affichages de liste. Toutefois, le fichier fldtypes*.xml dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML est vérifié afin que soit déterminé si <Field Name="CAMLRendering">TRUE</Field> est présent dans l’élément FieldTypes conteneur pour le champ. Si tel est le cas, le balisage DisplayPattern est utilisé pour restituer le champ dans les affichages de liste.
Notes
Deux types de champs hérités fournis avec SharePoint Foundation n’ont pas de type DisplayPattern de RenderPattern dans FLDTYPES.XML : (1) les champs ContentTypeId ne sont jamais visibles. (2) Les champs calculés sont restitués dans les affichages de liste et en mode Affichage par un élément DisplayPattern dans leurs éléments Field au sein du fichier schema.xml de chaque liste où ils figurent.
NewPattern et EditPattern
Les types NewPattern et EditPattern de RenderPattern étaient utilisés pour restituer un champ respectivement dans les modes de création et de modification, lorsque le champ ne nécessitait pas énormément de traitement ou de validation de données lors de la création ou de la modification d’un élément de liste contenant ce champ. Par exemple, la validation des champs de note au format libre est impossible, parce que le texte ne constitue pas une valeur valide. C’est également le cas pour les champs de choix et de recherche, puisque par définition l’utilisateur ne peut choisir que des valeurs valides. D’autres champs, tels que les champs monétaires et de date et heure, nécessitent simplement une validation minimale qui peut être codée dans un script.
Voir %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML pour avoir des exemples des types NewPattern et EditPattern pour RenderPattern.
RenderPatterns pour les types de champs personnalisés dérivés de champs multicolonnes
Dans le balisage RenderPattern pour un champ multicolonne personnalisé, l’attribut SubcolumnNumber d’un élément Column permet de spécifier une colonne individuelle dans un type de champ multicolonne. Pour plus d’informations sur les types de champ multicolonne, voir Classes de champ multicolonne personnalisées.
Exemple
L'exemple suivant définit un modèle de rendu d'affichage pour un type de champ personnalisé qui hérite du type multicolonne. Le champ est utilisé pour stocker les adresses américaines. La première sous-colonne stocke la rue. ensuite, il y a un saut de ligne HTML. La sous-solonne suivante stocke le nom de la ville, suivi d'une virgule et d'un espace. La troisième sous-colonne stocke l'état et, après un espace, la dernière sous-colonne stocke le code postal.
<RenderPattern Name="DisplayPattern">
<Switch>
<Expr><Column/></Expr>
<Case Value="">
</Case>
<Default>
<Column SubColumnNumber="0" HTMLEncode="TRUE"/>
<HTML><![CDATA[<BR>]]></HTML>
<Column SubColumnNumber="1" HTMLEncode="TRUE"/>
<HTML><![CDATA[, ]]></HTML>
<Column SubColumnNumber="2" HTMLEncode="TRUE"/>
<HTML><![CDATA[ ]]></HTML>
<Column SubColumnNumber="3" HTMLEncode="TRUE"/>
</Default>
</Switch>
</RenderPattern>
Voir aussi
Tâches
Procédure pas à pas : création d'un type de champ personnalisé
Concepts
Procédure : créer une classe de champ personnalisé
Rendu des propriétés de type de champ personnalisés
Procédure : créer une définition de type de champ personnalisé