Memanfaatkan Combobox dalam Datagridview
Posted by sonypringu pada April 18, 2010
Memanfaatkan Combobox dalam Datagridview
Dalam sebuah aplikasi spreadsheets, bisanya sering kita jumpai sebuah lookup dengan memanfaatkan combobox untuk searching data yang ingin dimasukan ke dalam kolom tersebut.
Dim cboKodeAccount As New DataGridViewComboBoxColumn
Dim txtKeterangan As New DataGridViewTextBoxColumn
Dim txtDC As New DataGridViewTextBoxColumn
Dim CboCur As New DataGridViewComboBoxColumn
Dim txtAmount As New DataGridViewTextBoxColumn
With cboKodeAccount
.DataPropertyName = “KodeAccountnya”
.HeaderText = “KodeAccount”
.Width = 100
End With
With txtKeterangan
.DataPropertyName = “Keterangannya”
.HeaderText = “Keterangan”
.Width = 150
End With
With txtDC
.DataPropertyName = “DCnya”
.HeaderText = “DC”
.Width = 40
End With
With CboCur
.DataPropertyName = “Curnya”
.HeaderText = “Cur”
.Width = 70
End With
With txtAmount
.DataPropertyName = “Amountnya”
.HeaderText = “Amount”
.Width = 100
End With
With Grid1
.Columns.Add(cboKodeAccount)
.Columns.Add(txtKeterangan)
.Columns.Add(txtDC)
.Columns.Add(CboCur)
.Columns.Add(txtAmount)
End With
cboKodeAccount.Items.Add(”Kode Acc 1″)
cboKodeAccount.Items.Add(”Kode Acc 2″)
cboKodeAccount.Items.Add(”Kode Acc 3″)
CboCur.Items.Add(”Curency 1″)
CboCur.Items.Add(”Curency 2″)
CboCur.Items.Add(”Curency 3″)
End Sub
‘Menambahkan Data Row ke dalam DGV
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Grid1.Rows.Add(New String() {”Kode Acc 1″, “Kode Acc 1″, “Value2″, “Curency 1″, “Value3″})
End Sub
end sub
Grid1.Rows.Add(New String() {”Kode Acc 1″, “Kode Acc 1″, “Value2″, “Curency 1″, “Value3″})
End Sub
Private Sub Grid1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles Grid1.EditingControlShowing
Dim cb As ComboBox = TryCast(e.Control, ComboBox)
If cb IsNot Nothing Then
RemoveHandler cb.SelectedIndexChanged, AddressOf Grid1_SelectedIndexChanged
Select Case Grid1.CurrentCell.ColumnIndex
Case 0 ‘Posisi / nomor kolom control ComboBox pada DatagridView
AddHandler cb.SelectedIndexChanged, AddressOf Grid1_SelectedIndexChanged
Case 3 ‘Posisi / nomor kolom control ComboBox pada DatagridView
AddHandler cb.SelectedIndexChanged, AddressOf Grid1_SelectedIndexChanged
End Select
End If
End Sub
Private Sub Grid1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim comboBox1 As ComboBox = CType(sender, ComboBox)
‘Ketikkan sintaks untuk menampilkan data yang di inginkan
If Grid1.CurrentCell.ColumnIndex = 0 Then
Grid1.Rows(Grid1.CurrentRow.Index).Cells(1).Value = comboBox1.Text
End If
If Grid1.CurrentCell.ColumnIndex = 3 Then
Grid1.Rows(Grid1.CurrentRow.Index).Cells(4).Value = comboBox1.Text
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub