إعداد سهل للقوائم المنسدلة في UltraWebGrid

إذا كنت تستخدم حاليًا UltraWebGrid من Infragistics وتواجه صعوبات أثناء تنفيذ قائمة منسدلة في أحد الأعمدة، فأنت لست وحدك. يواجه العديد من المطورين تحديات مماثلة بسبب التعقيدات المرتبطة باستخدام مكونات الشبكات من الشركات الخارجية. في حين أن الوثائق الرسمية قد تكون أقل فائدة، فإن هذا الدليل يهدف إلى توضيح طريقك، مما يمكّنك من تنفيذ قائمة منسدلة بشكل صحيح في أعمدة شبكتك.

فهم المشكلة

في محاولتك لإعداد قائمة منسدلة، قد تجد أن القائمة المنسدلة لا تعرض القيم المتوقعة. إليك ما قد يكون لديك في كودك:

col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;

وقد قمت بإنشاء myValueList كالتالي:

ValueList myValueList = new ValueList();
myValueList.Prompt = "نص التوجيه الخاص بي";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;

foreach(MyObjectType item in MyObjectTypeCollection) 
{
    myValueList.ValueItems.Add(item.ID, item.Text); // لاحظ أن ID هو سلسلة نصية (ليس من تصميمي)
}

لكن الخلايا في عمودك تبدو فارغة عند عرضها على الصفحة. ماذا يمكن أن يكون الخطأ؟

الحل: السماح بتحديثات العمود

تتعلق المشكلة في الغالب بتفصيل بسيط ولكنه حيوي: يجب أن يسمح العمود بالتحديثات. إذا لم يتم السماح بالتحديثات، فلن يتمكن UltraWebGrid من عرض القائمة المنسدلة بشكل صحيح.

إليك كيفية تمكين التحديثات لعمودك:

تحتاج إلى تعيين خاصية AllowUpdate للعمود المحدد على Yes. يمكن القيام بذلك مع السطر التالي من الكود:

uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;

وضع كل شيء معًا

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

  1. تعريف العمود المنسدل: كما فعلت.
  2. تعيين ValueList: كما فعلت مع myValueList.
  3. تمكين التحديثات: تأكد من إضافة إعداد AllowUpdate إلى تكوين العمود الخاص بك.

مثال على الكود

إليك مثال مدمج:

// إعداد العمود
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;

// السماح بالتحديثات للعمود
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;

// إنشاء ValueList
ValueList myValueList = new ValueList();
myValueList.Prompt = "نص التوجيه الخاص بي";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;

foreach(MyObjectType item in MyObjectTypeCollection) 
{
    myValueList.ValueItems.Add(item.ID, item.Text);
}

الاستنتاج

يمكن أن تكون عملية تنفيذ قائمة منسدلة في UltraWebGrid مهمة صعبة، ولكن مع هذه القائمة المرجعية وأمثلة الكود، يجب أن تكون قادرًا على التغلب على التحديات. تذكر، تأكد دائمًا من تمكين التحديثات للعمود - غالبًا ما تكون الأمور الصغيرة هي التي تحدث فارقًا كبيرًا!

بهذه الطريقة، يجب أن ترى الآن القوائم المنسدلة المرغوبة محشوة في خلايا شبكتك. إذا واجهت أي مشكلات أخرى، فقد يساعدك إعادة النظر في خصائص الشبكة والعمود في حل أي مشكلات متبقية.