SPDocumentLibrary Class
Represents a document library in Microsoft SharePoint Foundation.
Inheritance Hierarchy
System.Object
Microsoft.SharePoint.SPSecurableObject
Microsoft.SharePoint.SPList
Microsoft.SharePoint.SPDocumentLibrary
Microsoft.SharePoint.SPPictureLibrary
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: Yes
Available in SharePoint Online
Syntax
'Declaration
<SubsetCallableTypeAttribute> _
Public Class SPDocumentLibrary _
Inherits SPList
'Usage
Dim instance As SPDocumentLibrary
[SubsetCallableTypeAttribute]
public class SPDocumentLibrary : SPList
Remarks
To obtain an SPDocumentLibrary object, cast the given list as a document library, as shown in the following example.
Dim documentLibrary As SPDocumentLibrary = CType(list, SPDocumentLibrary)
SPDocumentLibrary oDocumentLibrary = (SPDocumentLibrary)oList;
Examples
The following code example iterates through all the sites and their lists and, excluding catalogs or form libraries, displays the name of the site and list, as well as the file name, for each item in every document library.
The example assumes the existence of an .aspx page that contains a label control.
This example requires using directives (Imports in Visual Basic) for the Microsoft.SharePoint and Microsoft.SharePoint.Utilities namespaces.
Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim sites As SPWebCollection = siteCollection.AllWebs
Dim site As SPWeb
For Each site In sites
Dim lists As SPListCollection = site.Lists
Dim list As SPList
For Each list In lists
If list.BaseType = SPBaseType.DocumentLibrary Then
Dim docLibrary As SPDocumentLibrary =
CType(list, SPDocumentLibrary)
If Not docLibrary.IsCatalog Then
If list.BaseTemplate <> SPListTemplateType.XMLForm Then
Dim docLibItems As SPListItemCollection =
docLibrary.Items
Dim docLibItem As SPListItem
For Each docLibItem In docLibItems
Label1.Text += SPEncode.HtmlEncode(site.Name)
& " :: " _
& SPEncode.HtmlEncode(list.Title)
& " :: " _
& SPEncode.HtmlEncode(docLibItem("Title"))
& "<BR>"
Next docLibItem
End If
End If
End If
Next list
Next site
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;
foreach (SPWeb oWebsite in collWebsites)
{
SPListCollection collLists = oWebsite.Lists;
foreach (SPList oList in collLists)
{
if (oList.BaseType == SPBaseType.DocumentLibrary)
{
SPDocumentLibrary oDocumentLibrary = (SPDocumentLibrary)oList;
if (!oDocumentLibrary.IsCatalog && oList.BaseTemplate !=
SPListTemplateType.XMLForm)
{
SPListItemCollection collListItems = oDocumentLibrary.Items;
foreach (SPListItem oListItem in collListItems)
{
Label1.Text += SPEncode.HtmlEncode(oWebsite.Name) +
" -- " +
SPEncode.HtmlEncode(oList.Title) + " -- " +
SPEncode.HtmlEncode(oListItem["Title"]) +
"<BR>";
}
}
}
}
oWebsite.Dispose();
}
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 Disposing Objects.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.