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

    }
}
È stato utile?

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.

  1. È necessario costruire un tag XML che conterrà dettagli per l'inserimento di dati alla lista.
  2. 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.
  3. Mentre la costruzione di XML assicurarsi che si utilizza StringBuilder classe di aggiungere la stringa.
  4. 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
scroll top