05 September 2009

No value given for one or more required paramer

วันนี้ผมเขียนโปรแกรม สำหรับการทำให้รายการชื่ออำเภอใน Combobox ของ อำเภอ เปลี่ยนตาม combobox ของจังหวัด โดยเขียนให้
Form load แสดงรายการ ตำบล อำเภอ จังหวัด ลงใน combobox และ ใน SelectedIndexChanged ของแต่ละอันก็ให้ Refresh ข้อมูลให้เปลี่ยนแปลงตาม จังหวัด

ปัญหาอยู่ที่ Event SelectedIndexChanged โปรแกรมแสดง Error "No value given for one or more required paramer"
เพราะ Event SelectedIndexChanged จะทำงานเมื่อ Combobox เปลี่ยนค่าที่เลือกไว้

ผมหาวิธีแก้อยู่และนึกเท่าไหร่ก็นึกไม่ออก จะ Search ก็ไม่รู้ว่าจะใช้คำจำกัดความว่าอย่างไร ก็เลยลองใส่ไปตรงๆ ว่า "Form_Load combobox SelectedIndexChanged" และแล้วผมก็เจอในเว็บไซต์ของ Microsoft วิธีแก้นั้นง่ายจนคิดไม่ถึง นั่นคือ ใส่ Flag ลงไปแค่นั้นเอง

ใน Project ของผมผมใส่

Dim Cboonload As Boolean = True

เมื่อ Event Form_Load เสร็จสิ้น ผมก็ Flag คืน ไปว่า Cboonload As Boolean = False

และใน Event SelectedIndexChanged ก็ให้เช็คว่า If Cboonload = True Then Exit Sub เท่่านั้นเอง

Ref : http://social.msdn.microsoft.com/Forums/en-US/vblanguage/thread/cbe96c98-beef-4abc-a268-3956064ece1c/

No comments: