SPQuery.ViewXml 属性
获取或设置用于定义视图的 XML 架构。
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Property ViewXml As String
Get
Set
用法
Dim instance As SPQuery
Dim value As String
value = instance.ViewXml
instance.ViewXml = value
public string ViewXml { get; set; }
属性值
类型:System.String
一个字符串,包含协作应用程序标记语言中的视图模式。
备注
ViewXml属性包含对应于 CAML 的视图元素的内部 XML 字符串。
备注
有关如何使用语言集成查询 (LINQ) 查询来检索SharePoint Foundation中的列表项的信息,请参阅Managing Data with LINQ to SharePoint。
示例
下面的代码示例使用ViewXml属性可以定义一个查询中 CAML。
此示例要求using指令 (Imports Microsoft Visual Basic 中) 为Microsoft.SharePoint和Microsoft.SharePoint.Utilities的命名空间。
Dim webSite As SPWeb = SPContext.Current.Site.AllWebs("Site_Name")
Try
Dim list As SPList = webSite.Lists("List_Name")
Dim query As New SPQuery()
query.ViewXml = "<View><Query><OrderBy><FieldRef Name='ID'/>" + _
"</OrderBy><Where><Or><Geq><FieldRef Name='Field1'/>" + _
"<Value Type='Number'>1500</Value></Geq><Leq>" + _
"<FieldRef Name='Field2'/><Value Type='Number'>500</Value>" + _
"</Leq></Or></Where></Query><ViewFields>" + _
"<FieldRef Name='Title'/>" + _
"<FieldRef Name='Field1'/><FieldRef Name='Field2'/>" + _
"<FieldRef Name='Field3'/><FieldRef Name='Field4'/>" + _
"</ViewFields><RowLimit>100</RowLimit></View>"
Dim items As SPListItemCollection = list.GetItems(query)
Dim item As SPListItem
For Each item In items
Response.Write((SPEncode.HtmlEncode(item.Xml) + "<BR>"))
Next item
Finally
webSite.Dispose()
End Try
using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["Site_Name"])
{
SPList oList = oWebsite.Lists["List_Name"];
SPQuery oQuery = new SPQuery();
oQuery.ViewXml = "<View><Query><OrderBy><FieldRef Name='ID'/>" +
"</OrderBy><Where><Or><Geq><FieldRef Name='Field1'/>" +
"<Value Type='Number'>1500</Value></Geq><Leq>" +
"<FieldRef Name='Field2'/><Value Type='Number'>500</Value>" +
"</Leq></Or></Where></Query><ViewFields>" +
"<FieldRef Name='Title'/>" +
"<FieldRef Name='Field1'/><FieldRef Name='Field2'/>" +
"<FieldRef Name='Field3'/><FieldRef Name='Field4'/>" +
"</ViewFields><RowLimit>100</RowLimit></View>";
SPListItemCollection collListItemsAvailable = oList.GetItems(oQuery);
foreach (SPListItem oListItemAvailable in collListItemsAvailable)
{
Response.Write(SPEncode.HtmlEncode(oListItemAvailable.Xml) +
"<BR>");
}
}
备注
某些对象实现IDisposable接口,并必须避免后不再需要保留这些对象在内存中。好的编码做法有关的信息,请参阅Disposing Objects。