การตั้งค่าง่าย ๆ ของรายการดรอปดาวน์ใน 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 อาจเป็นงานที่ยุ่งยาก แต่ด้วยเช็คลิสต์นี้และตัวอย่างโค้ด คุณจะสามารถเอาชนะความท้าทายได้ จำไว้ว่าควรตรวจสอบให้แน่ใจว่าการอัปเดตได้เปิดใช้งานสำหรับคอลัมน์—มันมักจะเป็นเรื่องเล็กน้อยที่ทำให้เกิดความแตกต่างใหญ่!

ด้วยวิธีนี้ คุณควรจะเห็นรายการดรอปดาวน์ที่ต้องการแสดงอยู่ในเซลล์กริดของคุณ หากคุณพบปัญหาเพิ่มเติม การกลับไปตรวจสอบคุณสมบัติของกริดและคอลัมน์ของคุณอาจช่วยแก้ไขปัญหาที่ค้างอยู่ได้