получить только документы из библиотеки Sharepoint
От: Alex Dav Россия  
Дата: 22.06.11 14:30
Оценка:
делаю так:

using(SPSite site = new SPSite(pathFolder))
{
    using (SPWeb rootWeb = site.OpenWeb())
    {
        SPListCollection docLibraryColl = rootWeb.GetListsOfType(SPBaseType.DocumentLibrary);
        foreach (SPList list in docLibraryColl)
        {
            if (!list.Hidden && list.Title.CompareTo(sDocLibrary) == 0)
            {
                SPDocumentLibrary doclib = (SPDocumentLibrary)list;
                SPFolder folder = doclib.RootFolder;
                foreach (SPFolder subfolder in folder.SubFolders)
                {
                // здесь получаю файлы и другие папки
                }
            }
        }
    }
}


использую заводской сайт на sharepoint
вместе с реальными папками документов, которые видят пользователи, выдаются еще и папка Forms со страницами aspx.
Как такое отфильтровать?

Спасибо.
Re: получить только документы из библиотеки Sharepoint
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 22.06.11 20:36
Оценка:
Здравствуйте, Alex Dav, Вы писали:

AD>делаю так:


AD>
AD>using(SPSite site = new SPSite(pathFolder))
AD>{
AD>    using (SPWeb rootWeb = site.OpenWeb())
AD>    {
AD>        SPListCollection docLibraryColl = rootWeb.GetListsOfType(SPBaseType.DocumentLibrary);
AD>        foreach (SPList list in docLibraryColl)
AD>        {
AD>            if (!list.Hidden && list.Title.CompareTo(sDocLibrary) == 0)
AD>            {
AD>                SPDocumentLibrary doclib = (SPDocumentLibrary)list;
AD>                SPFolder folder = doclib.RootFolder;
AD>                foreach (SPFolder subfolder in folder.SubFolders)
AD>                {
AD>                // здесь получаю файлы и другие папки
AD>                }
AD>            }
AD>        }
AD>    }
AD>}
AD>


AD>использую заводской сайт на sharepoint

AD>вместе с реальными папками документов, которые видят пользователи, выдаются еще и папка Forms со страницами aspx.
AD>Как такое отфильтровать?

Скрывай те, у которых свойство Item возвращает null.

А вообще циклами рекурсивно ходить по папкам неэффективно. Используй SPQuery и scope RecursiveAll.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.