Share via


de la propiedad SPSiteDataQuery.Lists

Obtiene o establece el XML interno que especifica qué listas para incluir en la consulta.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
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; }

Valor de propiedad

Tipo: System.String
Una cadena XML que contiene un identificador de entero que especifica el tipo de lista o GUID que especifica los identificadores de las listas.

Comentarios

El elemento de nivel superior en la cadena debe ser Lists.

Atributos de listas

Atributos opcionales admitidos para la etiqueta de Lists son los siguientes:

  • ServerTemplate --limita la consulta a las listas de la plantilla del servidor especificado. De forma predeterminada, este atributo no está establecido y por lo que la consulta no está limitada a listas basadas en una plantilla determinada.

    Ejemplo: <Lists ServerTemplate="104" />

  • BaseType --limita la consulta a las listas del tipo base especificado. De forma predeterminada, la consulta considera listas de BaseType 0 (listas genéricas).

    Ejemplo: <Lists BaseType="1" />

    En la siguiente tabla se enumera los valores posibles para el atributo.

    Value

    Description

    0

    Lista genérica

    1

    Biblioteca de documentos

    3

    Foro de discusión

    4

    Votación o encuesta

    5

    IssuesList

  • Hidden --determina si la consulta incluye listas ocultas. De forma predeterminada, la consulta tiene en cuenta todas las listas no ocultos.

    Ejemplo: <Lists Hidden = "TRUE />

  • MaxListLimit --limita la consulta y el número total de listas especificada. Si la consulta excede el límite, se produce un error en su lugar la consulta y genera un SPException. De forma predeterminada, el límite es 1000. Cuando se establece en 0, no hay ningún límite para el número de listas que se consideran.

    Ejemplo: <Lists MaxListLimit="500" />

Subelementos de las listas

Subelementos posibles de la etiqueta de Lists incluyen List y WithIndex.

  • La etiqueta de List permite la consulta incluir listas específicas, en lugar de devolver todas las listas de un tipo determinado. El atributo ID identifica cada lista. Ejemplo:

    <Lists>
      <List ID="7A9FDBE6-0841-430a-8D9A-53355801B5D5" />
      <List ID="3D18F506-FCA1-451e-B645-2D720DC84FD8" />
    </Lists>
    
  • La etiqueta de WithIndex es un elemento secundario opcional de Lists y, cuando está presente, la consulta se limita a las listas con campos indizados.

    Advertencia

    Las consultas que usan WithIndex dará como resultado un rendimiento lento para una colección de sitios con un gran número de elementos. WithIndex se proporciona únicamente para mantener la compatibilidad y no se recomienda su uso.

    El elemento WithIndex tiene tres atributos obligatorios: FieldId, Valuey Type. El atributo Type debe establecerse en Text. En el siguiente ejemplo, la consulta considera sólo las listas que contienen elementos cuyo campo especificado es indizado y se establece en el valor de texto "Complete".

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

Ejemplos

En el siguiente ejemplo es una aplicación de consola que recupera datos de todas las listas que se basan en la plantilla de lista de contactos.

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

Vea también

Referencia

clase SPSiteDataQuery

Miembros SPSiteDataQuery

Espacio de nombres Microsoft.SharePoint