สวัสดีครับ วันนี้จะแนะนำการใช้งาน single line edit ให้มีประสิทธิภาพมากขึ้น โดยเมื่อเราเริ่มพิมพ์ข้อมูลบน sle ที่ตัว datawindow ก็จะทำการ focus ไปยังข้อมูลที่เราพิมพ์ตามทันที เหมะสำหรับนำไปใช้ในการ search หาข้อมูลที่เราต้องการ เช่นพวก หมายเลขประจำตัวต่างๆเช่น หมายเลขประจำตัว 11512 ซึ่งอาจจะมีตัวเลขที่ใกล้เคียงกันเยอะมากเราก็พิมพ์แค่ 115 ตัว datawindow ก็จะวิ่งไปที่หมายเลขประจำตัวที่ขึ้นต้นด้วย 115 ให้เราเลยโดยที่เราไม่ต้อง scroll datawindow หาเอาเอง
หลักการก็มีอยู่ว่า ให้เราทำการเพิ่ม user event ของตัว sle ดังนี้
กำหนด user event ว่า ue_keyup แล้วก็ map กับ pbm_keyup เสร็จแล้วก็ลงมือเขียนสคริปต์กันเลย
String ls_search_string
long ll_found_row
ls_search_string = 'Match(string(sowid),"^'+This.text+'")'
ll_found_row = dw_list.find(ls_search_string,1,dw_list.rowcount())
if ll_found_row > 0 then
dw_list.ScrolltoRow(ll_found_row)
dw_list.SelectRow(0,false)
dw_list.SelectRow(ll_found_row,True)
end if
This.setfocus()
คำว่า sowid นั้นคือชื่อ คอลัมน์ที่เราต้องการใช้ใน datawindow ส่วน dw_list ก็คือชื่อของ datawindow ที่เราต้องการใช้งาน เมื่อ datawindow scroll ไปยังข้อมูลที่เราต้องการแล้วเราก็สามารถที่จะกด enter เพื่อ get ข้อมูลนั้นออกมาได้ทันทีโดยการเพิ่ม สคริปต์ที่ modified event อีกนิดเท่านั้นเอง
String id
id = dw_list.getitemstring(dw_list.getrow(),"sowid")
เพียงเท่านี้การค้นหาข้อมูลของคุณก็จะไม่น่าเบื่ออีกต่อไปแล้วครับ สวัสดีปีใหม่ครับ
บทความนี้จาก www.soopawat.com
แนะนำการใช้งาน single line edit
Latest News
- บทที่ 7-1 ตอน การสร้างระบบฐานข้อมูล
- บทที่ 6 ทดลองเขียนโปรแกรมด้วย PocketBuilder เบื้องต้น
- บทที่ 4 ติดตั้งdatabase sql anywhere
- บทที่ 7-2 ตอน การสร้างโปรแกรมแสดงรายการอาหารที่สั่ง ด้วย Powerbuilder 9
- บทที่ 3 ติดตั้งอุปกรณ์ และโปรแกรม Active Sync
- ทำชุด setup โปรแกรมด้วย Wise Install
- การติดตั้ง IIS
- ตัวอย่าง code โปรแกรมร้านเช่า VDO
- สมาชิก : 2
- Content : 336
- เว็บลิงก์ : 8
- จำนวนครั้งเปิดดูบทความ : 158942


