สวัสดีครับ ในการใช้งาน DropDownDatawindow นั้น บางครั้งเราอาจจะพบว่าข้อมูลที่เราทำการเลือกใน dddw นั้นยังไม่มีหรือต้องการเพิ่มข้อมูลลงไป และ สามารถเลือกใช้งานได้เลย บางท่านอาจจะอยากทราบว่า จะต้องทำอย่างไรโดยที่ไม่ต้องออกจากงานส่วนนี้ไปป้อนข้อมูลเพิ่มแล้วจึงกลับมาทำต่อ ผมจึงขอเสนอวิธีที่ง่ายๆไม่ซับซ้อนมากนักให้ลองดูนะครับ
เปิด Window painter ทำการวาง dw ลงไป 2 ตัว อันแรกเป็นตัวที่เราใช้ป้อนข้อมูล อันที่ สองเป็นอันที่เราใช้เก็บข้อมูลของ Trade คือเมื่อเราคลิกที่คอลัมน์ที่เรากำหนดให้เป็นแบบ dddw ใน dw ตัวแรก มันจะแสดงข้อมูลของ Trade ออกมาให้เราเลือก จากนั้นให้วาง dropdownlistbox control ลงไป แล้วก็ลงมือเขียนสคริปต์ได้
dw ตัวแรกตั้งชื่อว่า dw_header
dw ตัวแรกตั้งชื่อว่า dw_Trade
ddlb ตั้งชื่อว่า ddlb_trade
Open event
dw_header.SetTransObject()
dw_Trade.SetTransObject()
Dw_Trade.Retrieve()
Dw_header.retrieve()
ที่ ddlb_trade
Modified event
Datawindowchild dwc
dw_trade.setitem(dw_trade.Insertrow(0),"Trade_name",this.text)
dw_trade.update()
commit;
dw_header.Getchild("Trade_no",dwc)
dwc.Settransobject(sqlca)
dwc.retrieve()
dw_header.setcolumn("trade_no")
This.hide()
ที่ dw_header
rbutton event
ddlb_trade.show()
ddlb_Trade.setfocus()
เท่านี้ก็เป็นอันเสร็จเรียบร้อย
หลักการทำงานก็คือ เมื่อเราจะทำการเลือก Trade ใน dw ตัวแรกและพบว่ายังไม่มีข้อมูล ก็ให้ทำการ คลิกขวา ddlb ก็จะเปิดขึ้นมาและให้เราทำการป้อน Trade ตัวใหม่ลงไป เมื่อเสร็จแล้วก็กด enter ตัว ddlb ก็จะหายไป และข้อมูลใน dw ก็จะมีการ update Trade ให้เราเลือกได้ทันที
เรายังสามารถปรับปรุงเทคนิคดังกล่าวข้างต้นได้อีกเช่นว่า เมื่อเราป้อนข้อมูลใน ddlb เสร็จและกด enter แล้วให้ข้อมูลใหม่นี้ไปปรากฏบน dw เลยก็ได้
บทความนี้ได้มาจาก www.soopawat.com


