Come copiare un DataTable in un sito di SharePoint SPList?
-
13-09-2019 - |
Domanda
Ho la mia fonte, i dati della lista sourceList
tabella dati e desidera copiare i dati su la sua radice elenco.
Come posso fare?
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)
{
}
}
Soluzione
Approccio migliore per il caso di cui sopra è quello di Utilizzare la ProcessBatchData Metodo di SPWeb Oggetto.Questo vi aiuterà a aggiornare l'Elenco voci di Elenco in Batch.
- È necessario costruire un tag XML che conterrà dettagli per l'inserimento di dati alla lista.
- Se si dispone di un elevato numero di record per essere inserito nella lista considerare tagliare in piccoli batchs.Dire se si dispone di 1000 record farlo in due 500 insiemi.
- Mentre la costruzione di XML assicurarsi che si utilizza StringBuilder classe di aggiungere la stringa.
- Consultare questi Link Link1 Link2 Link3 per ulteriori informazioni su ProcessBatchData
In caso se lei vuole fare con l'OM.Quindi seguire il codice
`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()
}
`
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow