SPQuery.ViewFields property
取得或設定查詢所傳回的檢視欄位。
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
Public Property ViewFields As String
Get
Set
'用途
Dim instance As SPQuery
Dim value As String
value = instance.ViewFields
instance.ViewFields = value
public string ViewFields { get; set; }
Property value
Type: System.String
字串,包含在共同作業應用程式標記語言,可指定檢視欄位中的片段。
備註
ViewFields屬性包含對應到ViewFields中的項目Collaborative Application Markup Language (CAML)的內部 XML 字串。
Type屬性是Lookup和User欄位特別有用。否則,如果沒有該屬性,查詢不會傳回預期的結果。在某些情況下,查詢可能會完全失敗。
注意事項 |
---|
如需有關如何使用 Language-Integrated 查詢 (LINQ) 查詢來擷取清單項目,在SharePoint Foundation中的資訊,請參閱Managing Data with LINQ to SharePoint。 |
Examples
下列範例是一個主控台應用程式,使用了查詢從 [工作] 清單中取得項目的集合,並指定要傳回的欄位值與每個項目。之後擷取資料,應用程式會列印到主控台的報告。
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();
}
}
}