السبت، 28 نوفمبر 2009

إضافة عنصر جديد برمجياً غلى قائمة مخصصة في SharePoint Server 2010

  1. كيف تنشئ قائمة مخصصة في SharePoint Server 2010
  2. كيف تلغي استخدام النماذج المطورة في إدارة عناصر القائمة الخاصة
  3. إضافة عنصر جديد برمجياً غلى قائمة مخصصة في SharePoint Server 2010


من التحسينات الملحوظة في SharePoint Server 2010 هي التعامل مع عناصر القوائم ومنها إضافة عناصر جديدة إلى قائمة, وفي هذه المقالة سنركز على كيفية إضافة عنصر جديد برمجياً إلى القائمة المخصصة التي أنشأناها في مقالة سابقة بعنوان كيف تنشئ قائمة مخصصة في SharePoint Server 2010 واسم القائمة هو Names, وكلن قبل الدخول في تفاصيل الشيفرة البرمجية أرغب في استعراض كيفية إضافة عنصر جديد إلى القائمة باستخدام شاشات SharePoint Server 2010.

هذه الخطوات تم تنفيذها ضمن الشروط التالية:

  • Windows 7 64bit.
  • SharePoint Server 2010 Beta Version.

من صفحة استعراض جميع عناصر القائمة اضغط على الرابط Add new item كما في الشكل التالي لفتح نافذة جديدة إضافة معلومات العنصر الجديد:

أو من خلال الضغط على الرابط Items في قائمة الروابط العلوية للصفحة وبعدها اضغط على الرابط New Item كما في الشكل التالي:

من خلال اتباع إحدى الخطوات السابقة تظهر شاشة مشابة للشكل التالي تتيح إضافة معلومات العنصر الجديد:

بعد تعبئة المعلومات اللازمة اضغط على زر Save لحفظ معلومات العنصر الجديد, بعدها يتم إغلاق شاشة إضافة عنصر مع تحديث صفحة عرض جميع عناصر القائمة لعرض العنصر الجديد الذي تمت إضافته إلى عناصر القائمة.

كما يمكن إضافة عنصر جديد إلى عناصر القائمة باستخدام الطريقة المستخدمة في MOSS 2007 وذلك بكتابة العنوان التالي في المتصفح:

http://YOUR_SERVER_NAME/Lists/Names/NewForm.aspx

الخطوات السابقة كانت لإضافة عنصر جديد إلى قائمة باستخدام الميزات التي تقدمها شاشات SharePoint Server 2010.

إنشاء مشروع جديد باستخدام Visual Studio 2010

يدعم VS 2010 مجموعة قوالب مرتبطة مباشرة بالـ SharePoint بحيث تسهل عملية إضافة وتحميل عناصر جديدة تعمل على SharePoint Server 2010 ومن هذه القوالب Visual Web Part الذي يساعد على تصميم جزء ويب Web Part وتحميله ليعمل على تطبيق الويب الخاص بك. الآن يجب إنشاء مشروع باستخدام القالب Visual Web Part:

File -> New Project -> Visual C# -> SharePoint -> Visual Web Part

وليكن اسم المشروع هو CustomList2010Developer ومن ثم اضغط على الزر OK عندها تظهر شاشة تستطيع من خلالها أين سيتم تحميل جزء الويب الذي سنعمل عل برمجته, بعد تحديد عنوان الموقع المناسب اضغط زر Finish.

بعد إنشاء المشروع بنجاح افتح الملف VisualWebPart1.webpart وعدل عنوان جزء الويب Title ووصف جزء الويب Description.

الآن افتح الملف VisualWebPart1UserControl.ascx لبناء النموذج Form الذي سندخل من خلال معلومات العنصر الجديد (FirstName, FamilyName, Email), وهنا طبعاً الشيفرة التي ستتم كتابتها لا علاقة لها بالـ SharePoint Server 2010 وإنما هي شيفرة ASP.NET كما في الشكل التالي:

يحتوي النموذج على 3 حقول نصية لإدخال المعلومات التالية بالترتيب:

  • الاسم الأول FirstName.
  • اسم العائلة FamilyName.
  • البريد الإلكتروني Email.

مع وجود زرين الأول لإضافة المعلومات باستخدام الـ Object Model والثاني باستخدام Linq, والشيفرة التي يجب كتابتها في الحدث Click للزر Add By Object Model هي كما في الشكل التالي:

أما من أجل التعامل مع القائمة Names باستخدام Linq يجب اتباع الخطوات التالية لتوليد الملف الذي من خلاله سيتم التعامل مع القائمة Names:

1 - افتح منفذ الأوامر Command Prompt وأدخل الأمر التالي:

cd c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\bin

2 - اكتب الأمر التالي الذي يولد الملف:

spmetal /web:http://YOU_SERVER_NAME /namespace:CustomList2010Developer /code:c:\NamesList.cs

بعد توليد الملف NamesList.cs أضف هذا الملف إلى المشروع وذلك بالنقر بزر الفأرة الأيمن على اسم المشروع واختر Add Existing Itme.

يجب إضافة مرجع Reference إلى المكتبة Microsoft.SharePoint.Linq كي نستطيع التعامل مع عناصر الـ SharePoint Server 2010 باستخدام Linq وهذه المكتبة موجودة في المسار التالي:

c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI

أيضاً يجب إضافة العبارة التالية إلى ملف الشيفرة VisualWebPartUserControl.ascx.cs لتفعيل استخدام الـ Linq:

using System.Linq;

وأخيراً الشيفرة التي ستضيف العنصر الجديد باستخدام الـ Linq إلى القائمة Names هي كما في الشكل التالي:

نفذ عملية بناء المشروع من خلال القائمة Buil à Build Solution, ومن ثم نفذ الأمر Deploy Solution من القائمة Build à Deploy Solution.

أنشئ صفحة أجزاء ويب فارغة وأضف إليها جزء الويب الذي تم بناؤه وفي حال اتباع نفس الخطوات التي تم ذكرها في هذه المقالة عندها يجب أن يكون شكل جزء الويب الناتج كما في الشكل التالي:

ليست هناك تعليقات:

إرسال تعليق