Проблема обновления элемента определенного типа содержимого (вытекает из папки)

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/37640

Вопрос

Я сталкиваюсь с некоторыми проблемами, обновляя некоторые элементы в моем обработке событий.

У меня есть библиотека документов, в которой у меня есть папки, элементы и папка типа Pratica, которые вытекают из папки и имеют тот же атрибут других элементов в списке.

Так ... Код, который я написал, вызывается обработчиком событий и хочу применить моды на всех элементах под определенной папкой ..

Это работает для предметов (например, файлов и т. Д.).Когда он анализ подпапок и найдите его правильного типа содержимого, пытается изменить столбец, но модифицируйте не было применено (без исключения и отладки каждая инструкция передается !!)

любое предложение?

Спасибо!

private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS)
   {
       foreach (SPFile spfile in folder.Files) 
       {
           this.EventFiringEnabled = false;
           spfile.Item[fieldRS] = RagioneSociale;
           spfile.Item.SystemUpdate();
           this.EventFiringEnabled = true;
       }

       foreach (SPFolder spfolder in folder.SubFolders)
       {
           if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA))))
           {
               this.EventFiringEnabled = false;
               folder.Item[fieldRS] = RagioneSociale;
               folder.Item.SystemUpdate();
               this.EventFiringEnabled = true;
           }
           RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS);            }
   }
.

Это было полезно?

Решение

private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS) 
 { 
     foreach (SPFile spfile in folder.Files)  
   { 
       this.EventFiringEnabled = false; 
       spfile.Item[fieldRS] = RagioneSociale; 
       spfile.Item.SystemUpdate(); 
       this.EventFiringEnabled = true; 
   } 

   foreach (SPFolder spfolder in folder.SubFolders) 
   { 
       if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA)))) 
       { 
           //I MUST GET SPFOLDER and NOT folder element...
           this.EventFiringEnabled = false; 
           spfolder.Item[fieldRS] = RagioneSociale; 
           spfolder.Item.SystemUpdate(); 
           this.EventFiringEnabled = true; 
       } 
       RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS);            } 
.

}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top