Share via


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)

Syntax

public class SPDocumentLibrary : SPList

Remarks

To obtain an SPDocumentLibrary object, cast the given list as a document library, as shown in the following example.

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.

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.

See also

Reference

SPDocumentLibrary members

Microsoft.SharePoint namespace