SPSiteDataQuery.Lists - Propriété

Obtient ou définit le XML interne qui spécifie les listes à inclure dans la requête.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Property Lists As String
    Get
    Set
'Utilisation
Dim instance As SPSiteDataQuery
Dim value As String

value = instance.Lists

instance.Lists = value
public string Lists { get; set; }

Valeur de propriété

Type : System.String
Chaîne XML qui contient un ID d'entier qui spécifie le type de liste ou de GUID qui spécifient les ID des listes.

Remarques

L'élément de niveau supérieur dans la chaîne doit être Lists.

Attributs de listes

Les attributs facultatifs pris en charge pour la balise Lists sont les suivantes :

  • ServerTemplate --limite la requête aux listes du modèle de serveur spécifié. Par défaut, cet attribut n'est pas défini et si la requête n'est pas limitée aux listes basés sur un modèle particulier.

    Exemple : <Lists ServerTemplate="104" />

  • BaseType --limite la requête aux listes du type de base spécifié. Par défaut, la requête considère comme listes de BaseType 0 (générique).

    Exemple : <Lists BaseType="1" />

    Le tableau suivant répertorie les valeurs possibles pour l'attribut.

    Valeur

    Description

    0

    Liste générique

    1

    Bibliothèque de documents

    3

    Forum de discussion

    4

    Vote ou une enquête

    5

    Liste des problèmes

  • Hidden --détermine si la requête inclut les listes masquées. Par défaut, la requête considère toutes les listes non masqués.

    Exemple : <Lists Hidden = "TRUE />

  • MaxListLimit --limite la requête et le nombre total de listes spécifié. Si la requête dépasse la limite, la requête échoue et déclenche une SPExceptionà la place. Par défaut, la limite est de 1000. Lorsque la valeur 0, il n'y a aucune limite au nombre de listes qui sont considérés comme.

    Exemple : <Lists MaxListLimit="500" />

Listes de sous-éléments

Sous-éléments possibles de la balise Lists incluent List et WithIndex.

  • La balise List permet à la requête d'inclure des listes spécifiques, au lieu de renvoyer toutes les listes d'un type particulier. L'attribut ID identifie chaque liste. Exemple :

    <Lists>
      <List ID="7A9FDBE6-0841-430a-8D9A-53355801B5D5" />
      <List ID="3D18F506-FCA1-451e-B645-2D720DC84FD8" />
    </Lists>
    
  • La balise WithIndex est un enfant facultatif de Lists et, le cas échéant, la requête est limitée aux listes avec des champs indexés.

    Avertissement

    Les requêtes qui utilisent WithIndex entraîne le ralentissement des performances pour une collection de sites avec un grand nombre d'éléments. WithIndex est fourni uniquement pour compatibilité ascendante et son utilisation n'est pas recommandée.

    L'élément WithIndex possède trois attributs requis : FieldId, Valueet Type. L'attribut Type doit être défini à Text. L'exemple suivant, la requête prend en considération que les listes qui contiennent des éléments dont le champ spécifié est indexé et définir la valeur de texte « Complete ».

    <Lists>
      <WithIndex FieldId="D4819257-6B69-41F1-82C8-A91615BFF500" Type="Text" Value="Complete" />
    </Lists>
    

Exemples

L'exemple suivant est une application console qui récupère les données de toutes les listes qui sont basés sur le modèle de liste de Contacts.

Imports System
Imports System.Data
Imports Microsoft.SharePoint

Module ConsoleApp
   Sub Main()
      Using site As SPSite = New SPSite("https://localhost")
         Using web As SPWeb = site.OpenWeb()

            Dim query As SPSiteDataQuery = New SPSiteDataQuery()

            ' Query all Web sites in this site collection.
            query.Webs = "<Webs Scope='SiteCollection'>"

            ' Ask for all lists created from the contacts template.
            query.Lists = "<Lists ServerTemplate='105' />"

            ' Get the Title (Last Name) and FirstName fields.
            query.ViewFields = "<FieldRef Name='Title' />"
            query.ViewFields += "<FieldRef Name='FirstName' Nullable='TRUE'/>"

            Dim results As DataTable = web.GetSiteData(query)

            For Each row As DataRow In results.Rows
               Console.WriteLine("{0} {1}", row("FirstName"), row("Title"))
            Next

         End Using
      End Using
      Console.ReadLine()
   End Sub
End Module
using System;
using System.Data;
using Microsoft.SharePoint;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite site = new SPSite("https://localhost"))
         {
            using (SPWeb web = site.OpenWeb())
            {
               SPSiteDataQuery query = new SPSiteDataQuery();

               // Query all Web sites in this site collection.
               query.Webs = "<Webs Scope=\"SiteCollection\">";

               //Ask for all lists created from the contacts template.
               query.Lists = "<Lists ServerTemplate=\"105\" />";

               // Get the Title (Last Name) and FirstName fields.
               query.ViewFields = "<FieldRef Name=\"Title\" />"; 
               query.ViewFields += "<FieldRef Name=\"FirstName\" Nullable=\"TRUE\"/>";

               DataTable results = web.GetSiteData(query);

               foreach (DataRow row in results.Rows)
                  Console.WriteLine("{0} {1}", row["FirstName"], row["Title"]);
            }
         }
         Console.ReadLine();
      }
   }
}

Voir aussi

Référence

SPSiteDataQuery classe

SPSiteDataQuery - Membres

Microsoft.SharePoint - Espace de noms