SharePoint - 以编程方式更新保留在先前版本中的元素?可能吗?

时间:2015-11-28 11:26:26

标签: sharepoint versioning

我在这些设置中有多个行字段:

enter image description here

所以我有一些记录"历史"在' MultipleLinesField':

enter image description here

是否可以从版本集合中获取ListItem并更新此字段?我知道我可以将某个版本恢复为实际版本,然后更改字段,但我希望保持这些记录的顺序从最新到最后。 OM有可能吗?

我试过但没有运气。我可以得到它,但不能改变。

SPListItem itm = web.Lists [" ListWithVersions"]。GetItemById(1);

        string fieldName = itm.Fields["MultipleLinesField"].InternalName;

        for (int i = 0; i < itm.Versions.Count; i++)
        {
            if (itm.Versions[i][fieldName] != null)
            {
                Message("Version: " + i + Environment.NewLine + itm.Versions[i][fieldName]);

                // Error    Property or indexer 'Microsoft.SharePoint.SPListItemVersion.this[string]' cannot be assigned to -- it is read only
                itm.Versions[i][fieldName] = "asdfgh";

                // Error    Cannot convert type 'Microsoft.SharePoint.SPListItemVersion' to 'Microsoft.SharePoint.SPListItem'
                ((SPListItem)itm.Versions[i]).SystemUpdate();
            }
        }

0 个答案:

没有答案