SPSiteDataQuery.Lists-Eigenschaft
Ruft ab oder legt den inneren XML-Code, der angibt, welche Listen in der Abfrage ein.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Property Lists As String
Get
Set
'Usage
Dim instance As SPSiteDataQuery
Dim value As String
value = instance.Lists
instance.Lists = value
public string Lists { get; set; }
Eigenschaftswert
Typ: System.String
Eine XML-Zeichenfolge, die entweder eine ganzzahlige ID, die den Listentyp angibt, oder GUIDs, die angeben, die IDs der Listen enthält.
Hinweise
Das Element der obersten Ebene in der Zeichenfolge muss Listssein.
Listen-Attribute
Unterstützte optionale Attribute für das Tag Lists umfassen Folgendes:
ServerTemplate – beschränkt die Abfrage auf Listen mit der angegebenen Vorlage. Standardmäßig wird dieses Attribut nicht festgelegt und die Abfrage ist also nicht auf Listen basierend auf einer bestimmten Vorlage beschränkt.
Beispiel: <Lists ServerTemplate="104" />
BaseType – beschränkt die Abfrage auf Listen mit dem angegebenen Basistyp. Standardmäßig werden bei die Abfrage Listen BaseType 0 (Listen).
Beispiel: <Lists BaseType="1" />
Die folgende Tabelle enthält die möglichen Werte für das Attribut.
Wert
Description
0
Generische Liste
1
Dokumentbibliothek
3
Diskussionsforum
4
Abstimmung oder Umfrage
5
IssuesList
Hidden – bestimmt, ob die Abfrage ausgeblendete Listen enthält. Standardmäßig werden bei die Abfrage aller nicht ausgeblendeten Listen.
Beispiel: <Lists Hidden = "TRUE />
MaxListLimit – beschränkt die Abfrage auf die Gesamtzahl der Listen angegeben. Die Abfrage den Grenzwert überschreitet, die Abfrage stattdessen schlägt fehl und löst eine SPExceptionaus. Standardmäßig ist die Grenze 1000. Bei Festlegung auf 0, es gibt keine Beschränkung der Anzahl der Listen, die berücksichtigt werden.
Beispiel: <Lists MaxListLimit="500" />
Listen Unterelemente
Mögliche Unterelemente des Tags Lists gehören List und WithIndex.
Das Tag List ermöglicht die Abfrage, die bestimmte Listen, anstatt alle Listen eines bestimmten Typs zurückzugeben. Das ID -Attribut identifiziert jede Liste. Beispiel:
<Lists> <List ID="7A9FDBE6-0841-430a-8D9A-53355801B5D5" /> <List ID="3D18F506-FCA1-451e-B645-2D720DC84FD8" /> </Lists>
Das WithIndex -Tag ist ein optionales untergeordnetes Element des Lists und angegeben, wird die Abfrage auf Listen mit indizierten Feldern beschränkt.
Achtung
Geringe Leistung für eine Websitesammlung mit einer großen Anzahl von Elementen führt Abfragen, die WithIndex verwenden. WithIndex wird nur für Abwärtskompatibilität bereitgestellt, und seine Verwendung wird nicht empfohlen.
Das WithIndex -Element hat drei erforderlichen Attribute: FieldId, Valueund Type. Das Type -Attribut muss auf Textfestgelegt sein. Im folgenden Beispiel berücksichtigt die Abfrage nur Listen, die Elemente enthalten, deren angegebene Feld indiziert und auf den Textwert "Complete" festgelegt ist.
<Lists> <WithIndex FieldId="D4819257-6B69-41F1-82C8-A91615BFF500" Type="Text" Value="Complete" /> </Lists>
Beispiele
Das folgende Beispiel ist eine Konsolenanwendung, die Daten aus allen Listen abruft, die auf die Kontakte Listenvorlage basieren.
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();
}
}
}