Compartilhar via


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();
      }
   }
}

Ver também

Referência

SPSiteDataQuery class

SPSiteDataQuery members

Microsoft.SharePoint namespace