如何使用c#将共享点列表数据从一个列表复制到另一个列表

时间:2013-09-18 06:06:17

标签: sharepoint-2010

现在我有两个列表A和B,只要在列表A中使用C#或sharepoint事件处理程序添加新项目,我就想将数据从列表A复制到列表B.

由于

1 个答案:

答案 0 :(得分:0)

如果您的意思是列表A中的新项目也应该添加到列表B中,您可以

以下是复制SO

上的列表项的代码
private SPListItem CopyItem(SPListItem sourceItem, string destinationListName) {
    //Copy sourceItem to destinationList
    SPList destinationList = sourceItem.Web.Lists[destinationListName];
    SPListItem targetItem = destinationList.Items.Add();
    foreach (SPField f in sourceItem.Fields) {
        //Copy all except attachments.
        if (!f.ReadOnlyField && f.InternalName != "Attachments"
            && null != sourceItem[f.InternalName])
        {
            targetItem[f.InternalName] = sourceItem[f.InternalName];
        }
    }
    //Copy attachments
    foreach (string fileName in sourceItem.Attachments) {
        SPFile file = sourceItem.ParentList.ParentWeb.GetFile(sourceItem.Attachments.UrlPrefix + fileName);
        byte[] imageData = file.OpenBinary();
        targetItem.Attachments.Add(fileName, imageData);
    }

    return targetItem;
}