Partager via


SPQuery.ViewFields - Propriété

Obtient ou définit les champs d'affichage qui sont retournées par la requête.

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

Syntaxe

'Déclaration
Public Property ViewFields As String
    Get
    Set
'Utilisation
Dim instance As SPQuery
Dim value As String

value = instance.ViewFields

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

Valeur de propriété

Type : System.String
Chaîne qui contient un fragment en Collaborative Application Markup Language qui spécifie les champs d'affichage.

Remarques

La propriété ViewFields contient une chaîne qui correspond au code XML interne de l'élément ViewFields dans CAML (Collaborative Application Markup Language).

L'attribut Type est particulièrement utile pour les champs Lookup et User . Dans le cas contraire, sans cet attribut, la requête ne peut pas retourner les résultats attendus. Dans certains cas, la requête peut échouer.

Notes

Pour plus d'informations sur la façon d'utiliser des requêtes de Language-Integrated Query (LINQ) pour récupérer des éléments de liste dans SharePoint Foundation, voir Managing Data with LINQ to SharePoint.

Exemples

L'exemple suivant est une application console qui utilise une requête pour obtenir une collection d'éléments de la liste de tâches et spécifie les valeurs de champ à renvoyer avec chaque élément. Après l'extraction de données, l'application imprime un rapport à la console.

Imports System
Imports Microsoft.SharePoint

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

            ' Build a query.
            Dim query As SPQuery = New SPQuery()
            query.Query = String.Concat( _
                              "<Where><Eq>", _
                                 "<FieldRef Name='Status'/>", _
                                 "<Value Type='CHOICE'>Not Started</Value>", _
                              "</Eq></Where>", _
                              "<OrderBy>", _
                                 "<FieldRef Name='DueDate' Ascending='TRUE' />", _
                                 "<FieldRef Name='Priority' Ascending='TRUE' />", _
                              "</OrderBy>")

            query.ViewFields = String.Concat( _
                                   "<FieldRef Name='AssignedTo' />", _
                                   "<FieldRef Name='LinkTitle' />", _
                                   "<FieldRef Name='DueDate' />", _
                                   "<FieldRef Name='Priority' />")

            query.ViewFieldsOnly = True ' Fetch only the data that we need.

            ' Get data from a list.
            Dim listUrl As String = web.ServerRelativeUrl + "/lists/tasks"
            Dim list As SPList = web.GetList(listUrl)
            Dim items As SPListItemCollection = list.GetItems(query)

            ' Print a report header.
            Console.WriteLine("{0,-25}  {1,-20}  {2,-25}  {3}", _
                  "Assigned To", "Task", "Due Date", "Priority")

            ' Print the details.
            Dim item As SPListItem
            For Each item In items
               Console.WriteLine("{0,-25}  {1,-20}  {2,-25}  {3}", _
                     item("AssignedTo"), item("LinkTitle"), item("DueDate"), item("Priority"))
            Next

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

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite site = new SPSite("https://localhost"))
         {
            using (SPWeb web = site.OpenWeb())
            {
               // Build a query.
               SPQuery query = new SPQuery();
               query.Query = string.Concat(
                              "<Where><Eq>",
                                 "<FieldRef Name='Status'/>",
                                 "<Value Type='CHOICE'>Not Started</Value>",
                              "</Eq></Where>",
                              "<OrderBy>",
                                 "<FieldRef Name='DueDate' Ascending='TRUE' />",
                                 "<FieldRef Name=’Priority’ Ascending='TRUE' />", 
                              "</OrderBy>");                    

               query.ViewFields = string.Concat(
                                   "<FieldRef Name='AssignedTo' />",
                                   "<FieldRef Name='LinkTitle' />",
                                   "<FieldRef Name='DueDate' />",
                                   "<FieldRef Name='Priority' />");

               query.ViewFieldsOnly = true; // Fetch only the data that we need.

               // Get data from a list.
               string listUrl = web.ServerRelativeUrl + "/lists/tasks";
               SPList list = web.GetList(listUrl);
               SPListItemCollection items = list.GetItems(query);

               // Print a report header.
               Console.WriteLine("{0,-25}  {1,-20}  {2,-25}  {3}",
                  "Assigned To", "Task", "Due Date", "Priority");

               // Print the details.
               foreach (SPListItem item in items)
               {
                  Console.WriteLine("{0,-25}  {1,-20}  {2,-25}  {3}",
                     item["AssignedTo"], item["LinkTitle"], item["DueDate"], item["Priority"]);
               }
            }
         }
         Console.ReadLine();
      }
   }
}

Voir aussi

Référence

SPQuery classe

SPQuery - Membres

Microsoft.SharePoint - Espace de noms

ViewFieldsOnly