November 14, 2008

Menampilkan Data Pada Combo Box (Web Base)

Sering kali kita melihat web site menggunakan ComboBox untuk menampilkan data..
Seperti untuk memilih negara dan sebagainya.... Hal ini bisa kita lakukan dengan memasukkan data-data yang dinginkan kedalam ComboBox tersebut melalaui properties atau pada saat design program. Tapi bagaimana jika pada kedepannya data yang ingin kita tampilkan bertambah...Wahhhhhhh ini merupakan masalah besar, berarti kita harus menambahkan data dan mengcompile lagi program kita...ini merupakan pemborosan waktu dan bukan suatu solusi yang baik... Jadi cara yang benar adalah, kita buat suatu tabel untuk menampung data tersebut dan kita lakukan koneksi agar ComboBox bisa menampilakan data dari tabel.

objDataTable.Clear()
'Menampilkan data dari tabel (SQL syntak)
strSQL = "SELECT Department.* FROM(Department) "
objCommand = New OleDbCommand
objCommand.Connection = myconnection.open()
objCommand.CommandType = CommandType.Text
objCommand.CommandText = strSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "mdt_Department")
objDataTable = objDataSet.Tables("mdt_Department")
myconnection.close()
ddlDepartment.DataSource = objDataTable

'Field yang tampil adalah Field Department
ddlDepartment.DataTextField = "Department"
'Field yang menjadi value

ddlDepartment.DataValueField = "Division"
ddlDepartment.DataBind()

'Menambahkan Kata - Choice - didalam ComboBox
ddlDepartment.Items.Add("- Choice -")
Dim i As Integer

'fungsi agar kata Choice ditampilkan menjadi default
For i = 0 To (ddlDepartment.Items.Count - 1)
If "- Choice -" = ddlDepartment.Items.Item(i).ToString() Then
ddlDepartment.SelectedIndex = i
Exit For
End If
Next i

Note : Studi kasus untuk database Access, jika untuk SQL Server ada cara yang lebih mudah..

Wassalam

31 comments:

bandono said...

Assalmualaikum Bang Jun..!! sebelumnya terimakasih sajian blognya dan bagi aku bermanfaat banget..trus bantuin aku dong.! kalo sebelumnya artikel berjudul "menampilkan Data pada Combo Box" namun itu untuk daerah web..gimana kalo combonya pada bukan untuk web(dekstop) ..kalo bisa contoh database northwind aja..maksih sebelumnya..wassaalam..

eQ said...

Assalamualaikum mas, sebelumnya saya ucapkan terima kasih banyak atas ilmu yang udah dibagikan ke kita semua. sudah banyak sekali yang saya pelajari dari tulisan mas Jun, dan semua itu sangat membantu saya dalam belajar vb.net.
saya mau minta ilmunya mas Jun lagi mengenai bagaimana membagi form utama menjadi 2 bagian seperti pada web yang menggunakan frame, jadi untuk frame yang sebelah kiri digunakan untuk menu model treeview dan yang sebelah kanan digunakan sebagai tampilan form berdasarkan menu yang dipilih dan harus menempel pada frame tersebut. mohon pencerahannya ya mas. maaf sudah merepotkan...
terima kasih...

Junindar, MVP said...

@susba & eQ : tunggu ebook saya akan menjawab pertannyaan semua ..

eQ said...

terima kasih mas jun, saya jd senang + tenang mendengarnya!, :-D
smoga mas jun diberi kemudahan dan kelancaran dalam memperdalam ilmunya, sehingga bisa lebih mencerdaskan bangsa melalui ebook mas jun. :-)

AHMAD FAIZI said...

Ass bang jun, bisa minta bantuin menampilkan data di combobox database nya Mysql , trim bantuannya

Junindar, MVP said...

Hiiii mas ahmad,..
apakah mas ahmad sudah bisa konek ke database?
atau select table.. kalau sudah sintaks sama aja seperti diatas..
kalau belum bisa liat artikel sy tentang VB 2008 dan MySQL.
coba aja cari disini

AHMAD FAIZI said...

Ass Bang Jun, Trim ya udah bisa nampilkan data di combobox , klo boleh minta bantuan lg dan sekarang udah mentok banget neh, aku ada percobaan listview , udah bisa nampilan data di listview tapi yg jadi masalah mau nampilkan gambar/icon di item blm bisa2. trim bantuan nya ya

Junindar, MVP said...

http://msdn.microsoft.com/en-us/library/z4ka5fex.aspx

coba cek disini..

AHMAD FAIZI said...

Sekali terima kasih bang jun, atas bantuannya udah bisa nampilkan gambar di listview,
Dan klo kita konsultasi gini ga keberatan ya He he he , semoga tambah banyak job nya AMIIIN

Junindar, MVP said...

gpp kok.. kan blog ini di buat untuk saling share :)

AHMAD FAIZI said...

Ass bung jun , mau konsultasi lg , aku ada tabel , seperti ini tbproduk , field nya produk, yg jd masalah mau update nya kok ga bisa ya, syntaq yg ku pake seperti ini
Try
Dim x As Boolean
Cmd = New MySqlCommand("UPDATE tbdenominal SET denominal= '" & TextBoxX1.Text & "' WHERE denominal = '" & TextBoxX1.Text & "'", MyConnection1)

x = Cmd.ExecuteNonQuery
If x = True Then
MsgBox("berhasil")
End If
kira2 apa masalah nya ya

Junindar, MVP said...

kalau lihat SQL nya jelas ga bisa...
karena field yang mau di ubah di gunakan juga untuk criteria (where)..
apakah denominal primary key.. kalau iya ga bisa..
tapi kalau ga where nya di ganti dengan primary key

AHMAD FAIZI said...

Field nya ga Primary Key

Junindar, MVP said...

kalau gitu, where nya di ganti dengan PK

AHMAD FAIZI said...

Ass Bang Jun, Mungkin ada cara lain buat UPDATE table yg FIELD cuma satu, aku udah coba saran bang jun tp blm bisa ,

Junindar, MVP said...

UPDATE table
SET field= value-baru
WHERE field= value-lama

AHMAD FAIZI said...

Ass Bang Jun, Mau Konsultasi lg neh, aku ada tabel sbb : tbproduk, field nya (namaproduk,hargamodal,upharga) tbseles,fieldnya(namaseles) tbharga,fieldnya(namaseles,namaproduk,harga(hargamodal+upharga)
yg fungsi nya klo kita input namaproduk ke tbproduk jg input ke tbharga dan row tbharga nya semua namaseles
terima kasih bantuannya

Junindar, MVP said...

bisa kasih lebih detail lagi penjelasannya :)

AHMAD FAIZI said...

Trims bung jun , jd begini table yg aku punya
1. tbseles,fielnya (nama_seles,kode)
2. tbproduk,fieldnya(nama_produk,modal,markup)
3. tbkodeproduk,fieldnya(nama_produk,supplier)
4. tbharga,fielnya(nama_seles,kode_produk,harga(modal+markup)

Yg klo kita input kode produk tbharga nya jd bagini
nama_seles , kode_produk, harga
1.AHMAD , KECAP1 , 5100
2.FAIZI , KECAP1 , 5100
3.AHMAD , KECAP2, 5200
4.FAIZI, KECAP2, 5200
jd semua nama seles lngsung masuk ketika kita input kode produk
sekali lg trima kasih

AHMAD FAIZI said...

sorry bung, tbkedeproduk nya fieldnya (kode_produk, harga(harga+markup)

statament SQL yg ini aku blm paham

Junindar, MVP said...

Menurut saya design table nya rada susah untuk mendukung logic yang di inginkan... coba kirim lewat email aja..

AHMAD FAIZI said...

Bisa Minta e-mail nya bang

Junindar, MVP said...

junindar@gmail.com

Ledy.com said...

Assalamualaikum mas jun....saya mencoba source code mas jun pakai vb .net 2008

source code

StrSql = "SELECT * FROM KARYAWAN "
objCommand = New OleDbCommand
objCommand.Connection = MyConection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSql
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "divisi")
objDataTable = objDataSet.Tables("divisi")
MyConection.close()
ComboBox1.DataSource = objDataTable
ComboBox1.ValueMember = ("divisi")

yang saya tanyakan jika ada data yang sama itu keluar semua. gimana caranya supaya data yang sama hanya satu yang keluar

saya gunakan .DataValueText itu tidak bisa di vb .net2008

mohon dibantu mas jun
"Masih tahap belajar"

Ledy.com said...

Ass mas jun saya mengikuti source code punya mas tapi koq di vb .net 2008 tidak bisa ya mas

StrSql = "SELECT * FROM KARYAWAN "
objCommand = New OleDbCommand
objCommand.Connection = MyConection.open objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSql objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "divisi")
objDataTable = objDataSet.Tables("divisi")

MyConection.close()

ComboBox1.DataSource = objDataTable
ComboBox1.ValueMember = "divisi"

karena ini tabel karyawan saya gunakan divisi untuk menampilkan seluruh nik yang berkaitan dengan nama divisi tersebut.

setelah saya coba ternyata data yang ada di divisi itu keluar semua walupun namanya sama

bagaimana caranya agar nama data yang sama hanya keluar 1 saja

mohon dibantu mas Terima kasih sebelumnya
"Masih tahap belajar mas"

Junindar, MVP said...

pada syntax sql nya gunain Select distinct divisi from karyawan

Anonymous said...

Salam kenal mas junindar,saya ST
saya mau nanya...
bagaimana caranya agar combobox menampilkan Field ID pada database dan setelah memilih ID akan tampil data Field NAMA pada Textbox??tolong penjelasannya mas, saya baru belajar VB.net..terima kasih

Junindar, MVP said...

simple seperti ini..
buat sebuah function seperti brkt:
private function ViewNama(byval ID as string) as string

'ketikkan proses menampilkan nama berdasrkan ID

Return Value

End Function

lalu double click Combobox nya, dan ketikkan sintaks berikut :
txtnama.text=viewnama(CbID.Text)

Anonymous said...

asalamualaikum mas, saya kebingungan nich, saya punya buku mas tentang pembuatan aplikasi penjualan pake vb.net, tp CD na ilang, mas punya code2nya ga, ?

Pertanya.an kdua, mas saya mau tanya cara menampilkan data hasil pencarian pada listview, pas saya cb pke coding yg nampilin data doang, enga bisa mas, ada contohnya mungkin?

Pertanya.an k3, ada coding bwt bikin nota otomatis ga, hehe punya saya ga jalan2 mas. . Btw saya menggunakan vb 2005, trims ya mas, ini email saya acbar_nugraha@yahoo.com
wassalam . .

Anonymous said...

mas junidar salam kenal,
saya mau tanya
kalau menampilkan data pada combobox tapi pakai mysql (xampp) bagaimana y?

dari kode yang ada diatas
yang dirubahnya disintaq dimananya y?

Thx,

Anonymous said...

Saya Muchtar 085868574608
mau tanya untuk menampilkan database 2 fields di combobox vb.net 2008 / 2012