[VB.NET] การเก็บข้อมูลเพื่อแสดงผลแบบอัตโนมัติ (Auto Complete String Collection)
http://www.g2gnet.com/webboard/images/vbnet/AutoComplete.png
การใช้คุณสมบัติ AutoComplete เพื่อสร้างข้อความที่จะดำเนินการอินพุทสตริงโดยอัตโนมัติ โดยการเปรียบเทียบคำนำหน้าที่ป้อนลง กับคำนำหน้าของสตริงทั้งหมดในแหล่งข้อมูล ซึ่งจะเป็นประโยชน์สำหรับตัวควบคุม TextBox ซึ่งจะมีการป้อนข้อมูลต่างๆซ้ำๆอยู่บ่อยครั้ง (Google Translate แปลให้ครับ 5555+) ซึ่งสามารถอ่านรายละเอียดต่างๆได้จาก MSDN ของไมโครซอฟท์โดยตรงที่ TextBox.AutoCompleteMode Property ... โดยในตัวอย่างที่แอดมินนำมาเสนอนี้ให้สมมุติว่า Data Collection มันอยู่ใน ListBox Control กรณีนำไปใช้งานจริง เราก็ใช้วิธีอ่านจากฐานข้อมูลแทนครับผม ...
มาดูโค้ด (ง่ายๆ) กันเถอะ ...
Public Class frmAutoTextBox
Private Sub frmAutoTextBox_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'// Sample Data.
With ListBox1
.Items.Add("This is a book.")
.Items.Add("Red, Label")
.Items.Add("Black & White")
.Items.Add("Red Litre")
.Items.Add("Whisky, 40 Degree")
.Items.Add("Red, Green, Blue")
.Items.Add("Whisky, Scott")
.Items.Add("Red, Blood")
.Items.Add("Black, Label")
.Items.Add("Thongkorn Tubtimkrob")
End With
'// Auto Complete TextBox.
TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest
TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
Dim DataCollection As New AutoCompleteStringCollection()
GetData(DataCollection)
TextBox1.AutoCompleteCustomSource = DataCollection
End Sub
Private Sub GetData(ByVal dataCollection As AutoCompleteStringCollection)
'// Data Collection
For iRow = 0 To ListBox1.Items.Count - 1
dataCollection.Add(ListBox1.Items(iRow).ToString)
Next
End Sub
End Class
ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่
ขอบคุณมากๆเลยครับอาจารย์
หน้า:
[1]