SPQuery.ViewAttributes Property

Gets or sets the attributes of the view used in the query.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

Public Property ViewAttributes As String
    Get
    Set

Dim instance As SPQuery
Dim value As String

value = instance.ViewAttributes

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

Property Value

Type: System.String
A string that contains the view attributes.

Remarks

The ViewAttributes property contains attributes of the View element that is used in Collaborative Application Markup Language. For example, if the Scope attribute is set to Recursive (Scope="Recursive"), the query displays all the files within a document library, including ones in subfolders. If it is set to anything else, the query displays only files in the top folder.

Examples

The following code example sets a recursive scope for a query and displays all files contained within a specified document library.

This example requires using directives (Imports in Microsoft Visual Basic) for the [Microsoft.SharePoint] and [Microsoft.SharePoint.Utilities] namespaces.

Dim webSite As SPWeb = SPContext.Current.Site.AllWebs("Site_Name")
Try
    Dim list As SPList = webSite.Lists("DocLib_Name")
    Dim view As SPView = list.Views("View_Name")

    Dim query As New SPQuery(view)
    query.ViewAttributes = "Scope=""Recursive"""
    Dim myItems As SPListItemCollection = list.GetItems(query)

    Dim item As SPListItem
    For Each item In myItems
        Response.Write((SPEncode.HtmlEncode(item("Name")) + "<BR>"))
    Next item
Finally
    webSite.Dispose()
End Try
using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["Site_Name"])
{
    SPList oList = oWebsite.Lists["DocLib_Name"];
    SPView oView = oList.Views["View_Name"];

    SPQuery oQuery = new SPQuery(oView);
    oQuery.ViewAttributes = "Scope=\"Recursive\"";
    SPListItemCollection collListItemsAvailable = 
      oList.GetItems(oQuery);

    foreach (SPListItem oListItemAvailable in collListItemsAvailable)
    {
        Response.Write(SPEncode.HtmlEncode(oListItemAvailable["Name"]) + 
          "<BR>");
    }
}

Note

Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Best Practices: Using Disposable Windows SharePoint Services Objects.

See Also

Reference

SPQuery Class

SPQuery Members

Microsoft.SharePoint Namespace