2009-07-14 2 views
3

У меня есть данные моего исходного списка в таблице данных sourceList и вы хотите скопировать эти данные в свой корневой список.Как скопировать DataTable в SPList SharePoint?

Как я могу это сделать?

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) 
    { 

    } 
} 

ответ

2

Лучший подход для приведенного выше случая является использование ProcessBatchData Метод с SPWeb Object. Это поможет вам обновить элементы списка в списке в пакетном режиме.

  1. Вам необходимо создать теги XML, которые будут содержать детали для вставки данных в список.
  2. Если у вас есть большое количество записей, которые нужно вставить в список, подумайте о его смене в меньшие партии. Скажем, если у вас 1000 записей, сделайте это в двух 500 наборах.
  3. При построении XML убедитесь, что вы используете класс StringBuilder, чтобы добавить строку.
  4. См эти ссылки Link1Link2Link3 для получения дополнительной информации о ProcessBatchData

В случае, если вы хотите сделать это с помощью ОМ. Затем следуют код

`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() 

} 

`

+0

Мой список не слишком долго, однако я могу использовать DataTable представление по умолчанию каким-то образом? – Azra

+0

Да, вы можете использовать DefaultView, вы также можете использовать представление по умолчанию для DataTable, используя код для каждого кода, и выполните операцию, указанную в приведенном выше фрагменте кода. – Kusek

+0

КАК вы указываете образец кода, какое свойство использует вид по умолчанию? Я мог бы казаться глупым, но я смущен. – Azra