Berikut merupakan cara bagaimana sewaktu kita menekan huruf awalan dari setiap kata di-comboxbox akan memunculkan suggestion/autocomplete seperti ini
, saya menggunakan database sample dari Microsoft yaitu AdventureWorks, berikut SQL Query-nya (StoredProcedure):
CREATE PROCEDURE [dbo].[spGetEmployee]
AS
BEGIN
SELECT A.NationalIDNumber, B.FirstName AS [Name]
FROM HumanResources.Employee AS A
INNER JOIN Person.Contact AS B
ON A.ContactID = B.ContactID
END
Jika ingin memunculkan Name dan NationalIDNumber sekaligus juga dapat menggunakan SQL-Query sbb:
CREATE PROCEDURE [dbo].[spGetEmployee]
AS
BEGIN
SELECT A.NationalIDNumber, (B.FirstName + ' (' + A.NationalIDNumber + ')') AS [Name]
FROM HumanResources.Employee AS A
INNER JOIN Person.Contact AS B
ON A.ContactID = B.ContactID
END
Berikut code pada Class yang digunakan untuk DataAccess:
Public Function GetAllEmp() As DataSet
Dim ds As New DataSet
Using sqlConn As New SqlConnection(My.Settings.AdventureWorksConnectionString)
Using sqlDA As New SqlDataAdapter("dbo.spGetEmployee", sqlConn)
sqlDA.SelectCommand.CommandType = CommandType.StoredProcedure
sqlDA.Fill(ds)
End Using
End Using
Return ds
End Function
Code pada Form:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet
ds = objSale.GetAllEmp
cboEmployee.DataSource = ds.Tables(0)
cboEmployee.DisplayMember = "Name"
cboEmployee.ValueMember = "NationalIDNumber"
cboEmployee.AutoCompleteMode = AutoCompleteMode.SuggestAppend
cboEmployee.AutoCompleteSource = AutoCompleteSource.ListItems
End Sub
Silahkan disesuaikan dengan kebutuhan, untuk Query yang menampilkan Name dan National ID akan muncul seperti ini:
Untuk menyimpan, gunakan Kode-nya dengan code:
lblNationalIDNumber.Text = cboEmployee.SelectedValue
ComboBox terdapat 2 property yang digunakan untuk memanipulasi data :
cboEmployee.DisplayMember = "Name"
cboEmployee.ValueMember = "NationalIDNumber
- DisplayMember merupakan text yang ditampilkan
- ValueMember merupakan text/code dari yang ditampilkan sehingga kita dapat menggunakan .SelectedValue untuk mengambil ID/Code-nya