Élément ProjectedFields (View)

S’applique à : | SharePoint 2016 SharePoint Foundation 2013 | | SharePoint Online SharePoint Server 2013

Spécifie les champs dans des listes jointes qui peuvent être inclus dans l’affichage lorsqu’une ou plusieurs autres listes ont été jointes dans une requête.

<ProjectedFields>
  <Field ... />
  <Field ... />
</ProjectedFields>

Éléments et attributs

Les sections suivantes décrivent les attributs, les éléments enfants et les éléments parents.

Attributs

Aucun

Éléments enfants

Remarque

Il existe un nombre maximal d’éléments enfants Field. Ce nombre correspond à la différence entre le nombre maximal de champs autorisés dans la liste et le nombre de champs se trouvant déjà dans celle-ci.

Éléments parents

View

Occurrences

  • Minimum : 0
  • Maximum : 1

Remarque

L’élément View ne peut pas posséder d’élément ProjectedFields sauf s’il possède un élément Joins qui détient au moins un élément enfant Join. Toutefois, un élément ProjectedFields qui forme la valeur d’une propriété SPQuery.ProjectedFields et, par conséquent, n’est pas un enfant d’un élément View , peut être utilisé pour prendre en charge une jointure implicite sans élément Joins .

Il est déconseillé de ne pas utiliser un élément Joins. Vous optimiserez les chances de votre solution d’être compatible avec les futures versions de Microsoft SharePoint Foundation en utilisant toujours un élément Join explicite. Pour plus d’informations sur les jointures implicites avec des éléments ProjectedFields, voir List Joins and Projections.

Remarques

Si un champ d’une liste jointe n’est pas représenté dans ProjectedFields, il ne peut pas être inclus dans l’élément ViewFields.

Exemple

L’exemple suivant montre comment ajouter un champ aux résultats retournés par la requête. La valeur de l’attribut List est un alias de la liste étrangère. L’alias est défini dans un élément Join (View) . L’attribut ShowField doit être défini sur le nom interne du champ étranger.

L’attribut Type n’indique pas le type des données du champ comme il le fait généralement dans un élément Field. Quand un élément Field est un enfant de l’élément ProjectedFields, Type indique simplement si l’élément Join (dans l’élément Joins sur lequel dépend l’élément ProjectedFields) repose sur une relation de recherche existante entre les listes. À partir de SharePoint Foundation 2010, toutes les jointures doivent être basées sur une relation de recherche existante. Par conséquent, Type a toujours la valeur « Lookup ». Le type de données réel du champ n’est pas indiqué lorsqu’il s’agit d’un enfant de l’élément ProjectedFields. Toutefois, le type de données du champ est important, car seuls les types de champs suivants peuvent être inclus dans un élément ProjectedFields :

  • Calculé (considéré comme du texte brut)
  • ContentTypeId
  • Compteur
  • Devise
  • Date/heure
  • Guid
  • Entier
  • Note (une seule ligne)
  • Nombre
  • Text

<ProjectedFields>
  <Field
    Name='CustomerCity'
    Type='Lookup'
    List='customerCities'
    ShowField='Title' />
</ProjectedFields>

Pour un exemple d’élément ProjectedFields dont l’élément Field enfant possède un attribut FieldRef au lieu d’un attribut List, voir List Joins and Projections.