【问题标题】:How to delete versions without having column name in sharepoint list如何在共享点列表中没有列名的情况下删除版本
【发布时间】:2011-08-22 08:07:24
【问题描述】:

在版本历史中,我得到了一些没有任何字段更改的重复版本......所以对于这些版本,列名将为空。以编程方式,我想删除版本历史记录中未指定列名的版本... 请帮忙..

在图像中,您可以看到空白版本...我需要删除这些版本

【问题讨论】:

    标签: c# sharepoint versioning wss


    【解决方案1】:

    下面的代码从列表项中删除版本。您可以重复使用它并添加检查名称为空的条件。

    ///

        /// Removes unneeded versions from a sharepoint list item
    
        /// </summary>
    
        /// <param name="item">The SPListItem that needs some versions removed</param>
    
        /// <param name="minVersions">The minimum number of versions to keep</param>
    
        /// <param name="savedVersions">A collection of important version labels (or null)</param>
    
        /// <returns>The number of versions deleted</returns>
    
        internal static int RemoveVersions(SPListItem item, int minVersions, ICollection<string> savedVersions)
    
        {
    
            //  Homework for the reader: validate the input arguments.
    
            //  if item is null, throw an ArgumentNullException
    
            //  if minVersions < 0 throw an ArgumentOutOfRangeException
    
    
    
            int deletedCount = 0;
    
            int i = minVersions;    // start looking for old versions after skipping minVersions
    
    
    
            while (i < item.Versions.Count)
    
            {
    
                SPListItemVersion itemVersion = item.Versions[i];
    
                string versionLabel = itemVersion.VersionLabel;
    
    
    
                if (!itemVersion.IsCurrentVersion &&    // Not "current" according to SharePoint (e.g. last-published major version, moderated version)
    
                    (savedVersions == null || !savedVersions.Contains(versionLabel)))  // not one of our "saved" versions
    
                {
    
                    itemVersion.Delete();
    
                    ++deletedCount;
    
                }
    
                else
    
                {
    
                    ++i;
    
                }
    
            }
    
    
    
            return deletedCount;
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-13
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2020-10-12
      • 2017-02-15
      • 1970-01-01
      相关资源
      最近更新 更多