0

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

谢谢

4

1 回答 1

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;
}
于 2013-09-18T08:44:46.597 回答