Sonypringu's Blog

Just another WordPress.com weblog

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.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

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

Source kode di atas digunakan untuk melakukan penyetingan Datagridview
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

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

‘Event pada ComboBox dimana keperluan Anda akan ditanam di sini
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

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

 
Ikuti

Get every new post delivered to your Inbox.