3

我在数据表中有我的源列表数据,sourceList并希望将该数据复制到其根列表中。

我怎样才能做到这一点?

private void MoveToTopTaskList(DataTable sourceList, SPSite DestinationSiteCollection)
{
    SPWeb Destinationsite = DestinationSiteCollection.OpenWeb();
    SPList DestinationList = Destinationsite.Lists[TASKS];
    SPListItem DestinationListItem = DestinationList.Items.Add();

    foreach (DataRow row in sourceList.Rows)
    {

    }
}
4

1 回答 1

2

上述情况的最佳方法是使用SPWeb对象的ProcessBatchData方法。这将帮助您将列表项批量更新到列表中。

  1. 您需要构建一个 XML 标记,其中包含将数据插入列表的详细信息。
  2. 如果您有大量记录要插入到列表中,请考虑将其拆分为较小的批次。假设您有 1000 条记录,请分成两套 500 套。
  3. 在构建 XML 时,请确保使用StringBuilder类来附加字符串。
  4. 有关ProcessBatchData的更多信息,请参阅这些链接Link1 Link2 Link3

如果您想使用 OM 进行操作。然后按照代码

`SPWeb Destinationsite = DestinationSiteCollection.OpenWeb();
SPList DestinationList = Destinationsite.Lists[TASKS];    
SPListItem DestinationListItem = DestinationList.Items.Add();
  foreach (DataRow row in sourceList.Rows)
{
    DestinationListItem = DestinationList.Items.Add();
    DestinationListItem["Field1"]=row["Col"].ToString();
    DestinationListItem["Fieldn"]=row["Coln"].ToString();
    DestinationListItem.Update()

}

`

于 2009-07-14T17:36:13.460 回答