Sharepoint学习笔记---SPList--清除List下的items与folders

       如果你想要保留Sharepoint List/Document library本身(包括它的GUID),而只想要清除它的内容,可以使用如下方法来实现。 

         ///   <summary>
        
///  清除List下的所有items和folders
        
///   </summary>

         private  static  void PurgeListChinese(SPList list)
        {
             //  ===========================================================
            
//  list.ItemCount返回的是包括Folders在内的所有items数目,
            
//  也即List.ItemCount并不区分文件和文件夹,而是统计全部记录的数量
            
//  由于list.Items.DeleteItemById()方法
            
//  无法删除Folder,所以你不能使用此方法来清除List内容
            
//  ===========================================================

            System.Collections.Hashtable hItems =  new System.Collections.Hashtable(list.ItemCount);

             //  ===========================================================
            
//  SPList.Items返回整个list下不包括folder在内的的所有items
            
//  ===========================================================
             foreach (SPListItem item  in list.Items)
                hItems.Add(item.ID,  null);

             //  清除list items
             foreach ( int ID  in hItems.Keys)
                list.Items.DeleteItemById(ID);

             //  清除hashtable
            hItems.Clear();

             //  ===========================================================
            
//  SPList.Folders 返回整个list下的所有Folder
            
//  regardless of parent folder containment
            
//  ===========================================================
             foreach (SPListItem item  in list.Folders)
                hItems.Add(item.ID,  null);

             //  清除Folder
             foreach ( int ID  in hItems.Keys)
            {
                list.Folders.DeleteItemById(ID);
            }
        }

 

你可能感兴趣的:(SharePoint)