سؤال

لدي بيانات قائمة المصدر الخاصة بي في 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)
    {

    }
}
هل كانت مفيدة؟

المحلول

أفضل نهج للحالة أعلاه هو استخدام pickebatchdata. طريقة Spweb هدف. سيساعدك ذلك في تحديث العناصر في القائمة إلى القائمة في الدفعة.

  1. تحتاج إلى إنشاء علامات XML تحتوي على تفاصيل لإدخال البيانات إلى القائمة.
  2. إذا كان لديك عدد كبير من السجلات التي سيتم إدراجها إلى القائمة فكر في التقسيم في دفعات أصغر. قل إذا كان لديك 1000 سجل تفعل ذلك في مجموعتين 500.
  3. أثناء بناء XML تأكد من استخدام stringbuilder. فئة لإلحاق السلسلة.
  4. إحالة هذه الروابط link1. link2. link3. لمزيد من المعلومات حول pickebatchdata.

في حال كنت ترغب في القيام بذلك باستخدام 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()

}

`

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top