SPSiteDataQuery.Lists property
Obtém ou define o XML interno que especifica quais listas para incluir na consulta.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Property Lists As String
Get
Set
'Uso
Dim instance As SPSiteDataQuery
Dim value As String
value = instance.Lists
instance.Lists = value
public string Lists { get; set; }
Property value
Type: System.String
Uma sequência de caracteres XML que contém uma ID de número inteiro que especifica o tipo de lista ou GUIDs que especificam as identificações das listas.
Comentários
O elemento de nível superior na cadeia de caracteres deve ser Lists.
Atributos de listas
Atributos opcionais com suporte para a marca Lists incluem o seguinte:
ServerTemplate – limita a consulta às listas do modelo de servidor especificado. Por padrão, esse atributo não estiver definido e portanto não está limitada a listas com base em um determinado modelo de consulta.
Exemplo: <Lists ServerTemplate="104" />
BaseType – limita a consulta às listas do tipo base especificado. Por padrão, a consulta considera listas de BaseType 0 (listas genéricas).
Exemplo: <Lists BaseType="1" />
A tabela a seguir lista os valores possíveis para o atributo.
Valor
Descrição
0
Lista genérica
1
Biblioteca de documentos
3
Fórum de discussão
4
Votar ou pesquisa
5
Lista de questões
Hidden – determina se a consulta inclui listas ocultas. Por padrão, a consulta considera todas as listas não estão ocultos.
Exemplo: <Lists Hidden = "TRUE />
MaxListLimit – limita a consulta ao número total de listas especificada. Se a consulta excede o limite, a consulta em vez disso falhará e gera um SPException. Por padrão, o limite é de 1000. Quando definido como 0, não há nenhum limite no número de listas que são considerados.
Exemplo: <Lists MaxListLimit="500" />
Listas subelementos
Possíveis subelementos da marca Lists incluem List e WithIndex.
A marca List permite que a consulta incluir a listas específicas, em vez de retornar todas as listas de um determinado tipo. O atributo ID identifica cada lista. Exemplo:
<Lists> <List ID="7A9FDBE6-0841-430a-8D9A-53355801B5D5" /> <List ID="3D18F506-FCA1-451e-B645-2D720DC84FD8" /> </Lists>
A marca de WithIndex é um filho opcional da Lists e, quando presente, a consulta é limitada a listas com campos indexados.
Aviso
As consultas que usam WithIndex resultará em desempenho lento para um conjunto de sites com um grande número de itens. WithIndex é fornecido apenas para trás para frente compatibilidade e seu uso não é recomendado.
O elemento WithIndex tem três atributos obrigatórios: FieldId, Valuee Type. O atributo de Type deve ser definido como Text. No exemplo a seguir, a consulta considera apenas as listas que contêm os itens cujo campo especificado é indexado e definido como o valor de texto "Complete".
<Lists> <WithIndex FieldId="D4819257-6B69-41F1-82C8-A91615BFF500" Type="Text" Value="Complete" /> </Lists>
Examples
O exemplo a seguir é um aplicativo de console que recupera dados de todas as listas que são baseadas no modelo de lista de contatos.
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();
}
}
}