Question

J'ai ma liste de source de données dans le sourceList tableau de données et que vous souhaitez copier des données à la racine de la liste.

Comment puis-je le faire?

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

    }
}
Était-ce utile?

La solution

Meilleure Approche pour le cas ci-dessus est d'Utiliser la ProcessBatchData La méthode de la SPWeb Objet.Cela vous aidera à mettre à jour la Liste des éléments à la Liste dans le Lot.

  1. Vous avez besoin de construire un balises XML qui aura détails pour insérer les données de la liste.
  2. Si vous avez un grand nombre de dossiers pour être inséré dans la liste envisager crève dans de petits batchs.Dire si vous avez 1000 enregistrements de le faire en deux 500 ensembles.
  3. Lors de la construction du XML assurez-vous d'utiliser StringBuilder classe pour ajouter la chaîne.
  4. Consultez ces Liens Link1 Link2 Link3 pour plus d'informations sur ProcessBatchData

Dans le cas où si vous voulez le faire à l'aide de l'OM.Suivez ensuite le code

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

}

`

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top