Spesifikasi komputer yang saya gunakan adalah sebagai berikut:
Read More.. Made's Blog: 2018
2018/09/29
Pengalaman menggunakan Fuze Drive for AMD Ryzen
2018/08/11
ComboBox VB Net 2017
Jadi ceritanya saya sedang mengerjakan sebuah project point of sales menggunakan vb 2017 dengan database mysql. Salah satu kasus yang saya temui adalah saat menggunakan combobox untuk menampilkan data(grup customer) dari database dimana data customer ber relasi dengan tabel grup customer(id dan nama grup). algoritma sederhana dari proses ini : data customer dan grup customer diambil dari tabel di database, kemudian data customer ditampilkan di datagrid, sedangkan data grup disimpan di comboBox.
Read More.. Made's Blog: 2018
kemudian saya buat event on double click di data grid view untuk menampilkan data customer beserta grup yang di set padanya berdasarkan id grup yang ter taut pada data customer, namun apa yang terjadi ialah comboBox tidak langsung bereaksi untuk menampilkan info grup berdasarkan id grup yang di assign. saya menggunakan kode :
CmbGrupCust.SelectedValue = IdGrupSelected
setelah searching google, ternyata banyak yang mengalami hal yang sama, apakah ini bug atau memang ada cara lain untuk menampilkan data di ComboBox berdasarkan selected Id saya belum tahu persis, tapi saya akhirnya menggunakan solusi array dinamis untuk menampilkan info grup yang tersimpan di comboBox.
pertama deklarasikan array tanpa dimensi
Dim arrNamaGrup() As String
Dim arrIdGrup() As Integer
Kemudian pada form load atau pada saat mengambil data dari tabel ke comboBox:
While pmbc.Read()
jgrup = jgrup + 1
ReDim Preserve arrNamaGrup(jgrup)
ReDim Preserve arrIdGrup(jgrup)
CmbGrup.Items.Add(New With {.nama_grup = pmbc.Item(1).ToString, .value =
pmbc.Item(0).ToString})
arrNamaGrup(jgrup - 1) = pmbc.Item(1).ToString
arrIdGrup(jgrup - 1) = CInt(pmbc.Item(0).ToString)
End While
ReDim Preserve berfungsi untuk menambah ruang array dengan jumlah total sama dengan jgrup
kemudian pada saat menampilkan informasi detil customer, pada kasus saya event on celldoubleClick di dgCust:
IdGrupSelected = CInt(dgCust.CurrentRow.Cells(7).Value.ToString)
For c As Integer = 0 To arrIdGrup.Length - 1
If arrIdGrup(c) = idGrup Then
CmbGrup.SelectedIndex = c
Exit For
End If
Next
dengan demikian kita meng-set data yang harus ditampilkan oleh comboBox dengan properti SelectedIndex, dan berhasil tidak seperti menggunakan selectedValue yang kadang jalan kadang tidak.
Subscribe to:
Posts (Atom)