Pages

Subscribe:
Showing posts with label ComboBox. Show all posts
Showing posts with label ComboBox. Show all posts

Saturday, April 30, 2011

Membuat AutoComplete pada Combobox

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

Saturday, October 16, 2010

Simple Calculator

Dibuat menggunakan VB.Net 2005, dalam materi ini berisikan contoh beberapa control seperti : textbox, label, combobox, listbox dan button. Materi ini juga menggunakan Variabel, yang digunakan untuk menampung data secara sementara

 
Code:

Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        'mengisi nilai ComboBox Operator
        cboOperator.Items.Add("+  ""Tambah""")
        cboOperator.Items.Add("-  ""Kurang""")
        cboOperator.Items.Add("*  ""Kali""")
        cboOperator.Items.Add("/  ""Bagi""")
    End Sub
 
    Private Sub btnProcess_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnProcess.Click
        'variabel -> berfungsi untuk menampung data sementara
        Dim sng1stNumber, sng2ndNumber, sngResult As Single
 
        'jika user mengisi TextBox txt1stNumber, txt2ndNumber
        'dengan karakter selain angka, maka tidak akan diproses
        If Not IsNumeric(txt1stNumber.Text) = True Then
            MessageBox.Show("Silahkan masukkan angka pada TextBox 1stNumber", _
                            "WARNING", MessageBoxButtons.OK, _
                            MessageBoxIcon.Warning)
            'memberikan nilai textbox menjadi 0 (nol)
            txt1stNumber.Text = 0
            'membuat cursor berada pada textbox 1stNumber
            txt1stNumber.Focus()
            'memberhentikan proses selanjutnya
            Exit Sub
        ElseIf Not IsNumeric(txt2ndNumber.Text) = True Then
            MessageBox.Show("Silahkan masukkan angka pada TextBox 2ndNumber", _
                            "WARNING", MessageBoxButtons.OK, _
                            MessageBoxIcon.Warning)
            txt2ndNumber.Text = 0
            txt2ndNumber.Focus()
            Exit Sub
        End If
 
        'mengisi nilai variabel berdasarkan yang input oleh user
        sng1stNumber = CSng(txt1stNumber.Text)
        sng2ndNumber = CSng(txt2ndNumber.Text)
        sngResult = 0
 
        'memilih index atau urutan item yang dipilih oleh user
        'pada ComboBox cboOperator
        Select Case cboOperator.SelectedIndex
            Case 0 'tambah
                sngResult = sng1stNumber + sng2ndNumber
            Case 1 'kurang
                sngResult = sng1stNumber - sng2ndNumber
            Case 2 'kali
                sngResult = sng1stNumber * sng2ndNumber
            Case 3 'bagi
                sngResult = sng1stNumber / sng2ndNumber
            Case Else 'jika user mengisi ComboBox cboOperator
                'dengan sembarangan maka akan menampilkan pesan
                MessageBox.Show("Operator tidak dikenal / Anda belum memilih", _
                                "WARNING", MessageBoxButtons.OK, _
                                MessageBoxIcon.Warning)
        End Select
        txtResult.Text = sngResult
    End Sub
 
End Class


Download Source Lengkap : DOWNLOAD