Membuat Chained Combobox Dengan VB.NET

Membuat Chained Combobox Dengan VB.NET

Setelah beberapa hari yang lalu saya memposting tentang Menampilkan Data Ke Combobox Di VB.NET
kali ini saya akan memposting tentang Membuat Chained Combobox Dengan VB.NET atau bisa juga disebut dengan Combobox Bertingkat, jadi kita akan membuat beberapa combobox yang saling berhubungan
misal ada 4 buah combobox yaitu provinsi, kabupaten, kecamtan, kelurahan ketika kita memilih salah 1 provinsi maka combobox kabupaten akan terisi sesuai dengan data kabupaten yang berada di provinsi yang kita pilih tersebut

Langkah - langkah Membuat Chained Combobox Dengan VB.NET

1. Persiapkan sebuah database dengan nama lokasi, anda bisa mendownload database yang sudah saya siapkan disini, untuk cara Attach database sql server klik disini

2. Design sebuah form seperti gambar dibawah ini
Object
Properties
Value
Combobox1
Name
Cbo_provinsi

DropDownStyle
DropDownList
Combobox2
Name
Cbo_kabupaten

DropDownStyle
DropDownList
Combobox3
Name
Cbo_kelurahan

DropDownStyle
DropDownList
Combobox4
Name
Cbo_kecamatan

DropDownStyle
DropDownList

Membuat Chained Combobox Dengan VB.NET

3. Imports namespace System.Data.SqlClient dan ketikan script dibawah ini

1'Membuat String koneksi ke database
2Private strconn As String = "Data Source=.;Initial Catalog=dblokasi;Persist Security Info=True;User ID=sa; Password=root123"
3'Mendeklarasikan variable
4Private conn As SqlConnection
5Private cmd As SqlCommand
6Private adapter As SqlDataAdapter
7Private dt As DataTable

4. Pada event Form_load ketikan script dibawah ini

01'Mengisi data provinsi
02        'Menyiapkan sqlconnection
03        Using conn As New SqlConnection(strconn)
04            'Menyiapkan query untuk mendapatkan lokasi_nama dan lokasi_provinsi
05            cmd = New SqlCommand("select lokasi_nama,lokasi_provinsi from lokasi where lokasi_kabupatenkota=0 and lokasi_kecamatan=0 and lokasi_kelurahan=0 order by lokasi_nama asc", conn)
06            'Menyiapkan adapter
07            adapter = New SqlDataAdapter(cmd)
08            'Menyiapkan sebuah datatable untuk menampung data dari sqldataadapter
09            dt = New DataTable
10            'Membinding data dari adapter ke datatable
11            adapter.Fill(dt)
12            'Mengisi combobox provinsi
13            cbo_provinsi.DisplayMember = "lokasi_nama"
14            cbo_provinsi.ValueMember = "lokasi_provinsi"
15            cbo_provinsi.DataSource = dt
16        End Using
5. Klik 2 kali pada combobbox provinsi dan ketikan script dibawah ini

01If Not IsNothing(cbo_provinsi.SelectedValue) Then
02            'menyiapkan id dari combobox provinsi
03            Dim id As Integer = cbo_provinsi.SelectedValue
04            'Menyiapkan sqlconnection
05            Using conn As New SqlConnection(strconn)
06                'Menyiapkan query untuk mendapatkan lokasi_nama dan lokasi_kabupatenkota
07                cmd = New SqlCommand("select lokasi_nama,lokasi_kabupatenkota from lokasi where lokasi_provinsi='" & id & "' and lokasi_kabupatenkota <> 0 and lokasi_kecamatan=0 and lokasi_kelurahan=0 order by lokasi_nama asc", conn)
08                'Menyiapkan adapter
09                adapter = New SqlDataAdapter(cmd)
10                'Menyiapkan sebuah datatable untuk menampung data dari sqldataadapter
11                dt = New DataTable
12                'Membinding data dari adapter ke datatable
13                adapter.Fill(dt)
14 
15                'Mengisi combobox kabupaten
16                cbo_kabupaten.DisplayMember = "lokasi_nama"
17                cbo_kabupaten.ValueMember = "lokasi_kabupatenkota"
18                cbo_kabupaten.DataSource = dt
19            End Using
20        End If

6. Klik 2 kali pada combobox kabupaten dan ketikan script dibawah ini

01'jika nilai dari combobox kabupaten yang terpilih tidak kosong
02        If Not IsNothing(cbo_kabupaten.SelectedValue) Then
03            'menyiapkan id dari combobox provinsi
04            Dim idprovinsi As Integer = cbo_provinsi.SelectedValue
05            'menyiapkan id dari combobox kabupaten
06            Dim idkabupaten As Integer = cbo_kabupaten.SelectedValue
07            'Menyiapkan sqlconnection
08            Using conn As New SqlConnection(strconn)
09                'Menyiapkan query untuk mendapatkan lokasi_nama dan lokasi_kecamatan
10                cmd = New SqlCommand("select lokasi_nama,lokasi_kecamatan from lokasi where lokasi_provinsi='" & idprovinsi & "' and lokasi_kabupatenkota='" & idkabupaten & "' and lokasi_kecamatan <> 0 and lokasi_kelurahan=0 order by lokasi_nama asc", conn)
11                'Menyiapkan adapter
12                adapter = New SqlDataAdapter(cmd)
13                'Menyiapkan sebuah datatable untuk menampung data dari sqldataadapter
14                dt = New DataTable
15                'Membinding data dari adapter ke datatable
16                adapter.Fill(dt)
17 
18                'mengisi combobox kecamatan
19                cbo_kecamatan.DisplayMember = "lokasi_nama"
20                cbo_kecamatan.ValueMember = "lokasi_kecamatan"
21                cbo_kecamatan.DataSource = dt
22            End Using
23        End If

7. Klik 2 kali pada combobox dan ketikan script dibawah ini

01'jika nilai dari combobox kecamatan yang terpilih tidak kosong
02       If Not IsNothing(cbo_kecamatan.SelectedValue) Then
03           'menyiapkan id dari combobox provinsi
04           Dim idprovinsin As Integer = cbo_provinsi.SelectedValue
05           'menyiapkan id dari combobox kabupaten
06           Dim idkabupaten As Integer = cbo_kabupaten.SelectedValue
07           'menyiapkan id dari combobox kecamatan
08           Dim idkecamatan As Integer = cbo_kecamatan.SelectedValue
09           'Menyiapkan sqlconnection
10           Using conn As New SqlConnection(strconn)
11               'Menyiapkan query untuk mendapatkan lokasi_nama dan lokasi_kelurahan
12               cmd = New SqlCommand("select lokasi_nama,lokasi_kelurahan from lokasi where lokasi_provinsi='" & idprovinsin & "' and lokasi_kabupatenkota='" & idkabupaten & "' and lokasi_kecamatan='" & idkecamatan & "' and lokasi_kelurahan <> 0 order by lokasi_nama asc", conn)
13               'Menyiapkan adapter
14               adapter = New SqlDataAdapter(cmd)
15               'Menyiapkan sebuah datatable untuk menampung data dari sqldataadapter
16               dt = New DataTable
17               'Membinding data dari adapter ke datatable
18               adapter.Fill(dt)
19 
20               'mengisi combobox kelurahan
21               cbo_kelurahan.DisplayMember = "lokasi_nama"
22               cbo_kelurahan.ValueMember = "lokasi_kelurahan"
23               cbo_kelurahan.DataSource = dt
24           End Using
25       End If

8. Jalankan program tersebut dengan menekan F5 

Membuat Chained Combobox Dengan VB.NET

Anda bisa mendownload source codenya disini
dan untuk passwordnya disini
Previous
Next Post »

1 komentar:

Click here for komentar
W
admin
28 Februari 2021 pukul 14.29 ×

lapor bang, The file you are trying to download is no longer available!

Congrats bro W you got PERTAMAX...! hehehehe...
Reply
avatar
Thanks for your comment