DataGridView merupakan control dari .Net 2.0, ini merupakan perkembangan dari DataGrid pada .Net 1.x. Sekarang dengan artikel ini kita akan membahas bagaimana memformat datagridview kita dengan metode run time (coding). Untuk melakukan format pada Datagridview kita menggunakan DatagridviewCellStyle. Kita dapat membuat style dengan
banyak DatagridViewStyle, untuk masing-masing baris, kolom dan cells. DatagridviewCellStyle mengambil seluruh format properties pada DatagridView.
Dibawah ini merupakan beberapa properties pada DatagridviewCellStyle :
Alignment
Untuk melakukan format text didalam cell
BackColor and ForeColor
Untuk color dari pada background cell dan warna text pada cell.
Font
Untuk format tulisan
Format
Bagaimana melakukan format string. Contoh melakukan format numeric atau datetime menjadi string.kita dapat menggunakan standard .Net format atau custom format.
NullText
Mengganti Null dengan Text
SelectionBackColor and SelectionForeColor
Mensetting background cell dan warna text jika cell di pilih
WrapMode
Menetapkan jika text adalah multi lines (jika tinggi row cukup untuk menampung) atau akan di potong. Sebagai default adalah wrap.
Dibawah ini adalah sintaks untuk melakukan format pada DatagridView
Dim Style As DataGridViewCellStyle = _ DataGridView1.Columns("CustomerID").DefaultCellStyleStyle.Font = New Font(DataGridView1.Font, FontStyle.Bold)Style.Alignment = DataGridViewContentAlignment.MiddleRightStyle.BackColor = Color.LightYellow
Style.ForeColor = Color.DarkRed
Di asumsikan kita sudah bisa memasukkan data ke dalam datagridview. Pada sintaks diatas, kita sedang melakukan format untuk kolom CustomerID. Hasil dari sintaks ini dapat dilihat pada gambar diatas. Dan untuk masing-masing kolom dapat kita ubah format nya.
Dan bagaimana menambah button pada DataGridView
Dim Details As New DataGridViewButtonColumn()
Details.Name = "Details"
Details.UseColumnTextForButtonValue = True
Details.Text = "Details..."
Details.HeaderText = ""
DataGridView1.Columns.Insert(DataGridView1.Columns.Count, Details)
Dari sintaks diatas dapat diliat kita membuat button dengan text “Details…”, dan tidak memiliki Header pada kolom nya.
Sedangkan untuk menampilkan value pada saat button di klik adalah sebagai berikut.
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If DataGridView1.Columns(e.ColumnIndex).Name = "Details" Then
MessageBox.Show("Kamu mengklik " & _
DataGridView1.Rows(e.RowIndex).Cells("CustomerID").Value)
End If
End Sub
Dan bagaimana membuat Highlight pada cell, sebagai contoh bagaiman jika kita ingin membuat highlight untuk harga yang lebih dari 100, dengan nama kolom ada “Harga”. Berikut sintaks nya.
Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
If DataGridView1.Columns(e.ColumnIndex).Name = "Harga" Then
If e.Value > 100 Then
e.CellStyle.ForeColor = Color.Red
e.CellStyle.BackColor = Color.Yellow
End If
End If
End Sub
Note : Artikel ini dapat berjalan pada .Net 2.0 keatas
Semoga dengan artikel ini dapat menambah wawasan kita semua.
Wassalam
Note : Artikel ini dapat berjalan pada .Net 2.0 keatas
Semoga dengan artikel ini dapat menambah wawasan kita semua.
Wassalam
banyak DatagridViewStyle, untuk masing-masing baris, kolom dan cells. DatagridviewCellStyle mengambil seluruh format properties pada DatagridView.
Dibawah ini merupakan beberapa properties pada DatagridviewCellStyle :
Alignment
Untuk melakukan format text didalam cell
BackColor and ForeColor
Untuk color dari pada background cell dan warna text pada cell.
Font
Untuk format tulisan
Format
Bagaimana melakukan format string. Contoh melakukan format numeric atau datetime menjadi string.kita dapat menggunakan standard .Net format atau custom format.
NullText
Mengganti Null dengan Text
SelectionBackColor and SelectionForeColor
Mensetting background cell dan warna text jika cell di pilih
WrapMode
Menetapkan jika text adalah multi lines (jika tinggi row cukup untuk menampung) atau akan di potong. Sebagai default adalah wrap.
Dibawah ini adalah sintaks untuk melakukan format pada DatagridView
Dim Style As DataGridViewCellStyle = _ DataGridView1.Columns("CustomerID").DefaultCellStyleStyle.Font = New Font(DataGridView1.Font, FontStyle.Bold)Style.Alignment = DataGridViewContentAlignment.MiddleRightStyle.BackColor = Color.LightYellow
Style.ForeColor = Color.DarkRed
Di asumsikan kita sudah bisa memasukkan data ke dalam datagridview. Pada sintaks diatas, kita sedang melakukan format untuk kolom CustomerID. Hasil dari sintaks ini dapat dilihat pada gambar diatas. Dan untuk masing-masing kolom dapat kita ubah format nya.
Dan bagaimana menambah button pada DataGridView
Dim Details As New DataGridViewButtonColumn()
Details.Name = "Details"
Details.UseColumnTextForButtonValue = True
Details.Text = "Details..."
Details.HeaderText = ""
DataGridView1.Columns.Insert(DataGridView1.Columns.Count, Details)
Dari sintaks diatas dapat diliat kita membuat button dengan text “Details…”, dan tidak memiliki Header pada kolom nya.
Sedangkan untuk menampilkan value pada saat button di klik adalah sebagai berikut.
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If DataGridView1.Columns(e.ColumnIndex).Name = "Details" Then
MessageBox.Show("Kamu mengklik " & _
DataGridView1.Rows(e.RowIndex).Cells("CustomerID").Value)
End If
End Sub
Dan bagaimana membuat Highlight pada cell, sebagai contoh bagaiman jika kita ingin membuat highlight untuk harga yang lebih dari 100, dengan nama kolom ada “Harga”. Berikut sintaks nya.
Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
If DataGridView1.Columns(e.ColumnIndex).Name = "Harga" Then
If e.Value > 100 Then
e.CellStyle.ForeColor = Color.Red
e.CellStyle.BackColor = Color.Yellow
End If
End If
End Sub
Note : Artikel ini dapat berjalan pada .Net 2.0 keatas
Semoga dengan artikel ini dapat menambah wawasan kita semua.
Wassalam
Note : Artikel ini dapat berjalan pada .Net 2.0 keatas
Semoga dengan artikel ini dapat menambah wawasan kita semua.
Wassalam
15 comments:
menarik juga ni..cell backcolor dapat diwarnai(highlight) sesuai kondisinya..
Nah jika kita ingin mewarnai dengan membandingkan nilai suatu column dengan colom lain gmana om Jun.. Misal ada dua kolom: stok kini dan stok minimal. bgmana carany bila stok kini > stok minimal warnany hijau,stok kini < stok minimal warnany merah..makasih.
mas jun salam kenal, sy uda download artikel vb.net(1) tp stlh sy cb g berhasil, mhon bntuannya mas,,,,, trims
salam knl mas jun
sy sdh download artikel step by step menjadi programer dg vb.net(1), dn tlh sy cb tp tdk berhasil, mhon bntuanx mas, trims.............
menarik juga ni..cell backcolor dapat diwarnai(highlight) sesuai kondisinya..
Nah jika kita ingin mewarnai dengan membandingkan nilai suatu column dengan colom lain gmana om Jun.. Misal ada dua kolom: stok kini dan stok minimal. bgmana carany bila stok kini > stok minimal warnany hijau,stok kini < stok minimal warnany merah..makasih.
cara simple seperti ini, cuma g tau performance nya.. :) :)
buat procedure sperti dibawah :
Private Sub ChangeColor()
For Each r As DataGridViewRow In DgBuku.Rows
If Integer.Parse(r.Cells(4).Value.ToString()) < _
Integer.Parse(r.Cells(5).Value.ToString()) Then
r.Cells(4).Style.BackColor = Color.Yellow
r.Cells(4).Style.ForeColor = Color.Red
ElseIf Integer.Parse(r.Cells(4).Value.ToString()) > _
Integer.Parse(r.Cells(5).Value.ToString()) Then
r.Cells(4).Style.BackColor = Color.Red
r.Cells(4).Style.ForeColor = Color.Yellow
End If
Next
End Sub
Trus jalankan procedure setelah binding datagridview biasa nya di Form_Load..
Sorry ga banyak membantu.. :)
saya jalankan
DefaultCellStyle.format = "n" untuk format ketika form load berhasil, tetapi ketika setelah data di edit koq tidak ada separator ribuannya
Mohon bantuan
Maaf mas Jun, bisakah header datagridview di split menjadi dua atau lebih baris, saya menemukan cara dengan c#, tapi saya belum memahami c# dan saya sedangg belajar vb.net
@Lia Junita Ramadhan : sample nya kan bisa di convert ke VB ..
mas mau tanya kalo pas kita klik tombol button detailnya lalu muncul gambar atau foto yang sudah kita simpan di databse sebelumnya gimana mas caranya?
gan bagaimana ya menampilkan full kolom di datagrid walaupun datagridnya tidak ada datanya?..mohon banyuannya gan :P
salam kenal mas
saya ita lumajang mau tanya
saya mau menampilkan data di datagridview dari tabel barang di sql server 2008.
tabel barang berelasi dg tabel satuan shg tabel barang berisi kdsatuan.
ketika disave otomatis yg tersimpan dan yang ditampilkan di gridview adalah kdsatuan.
pertanyaanya adalah bagaimana nama satuan dr tabel satuan bisa tampil di datagridview tersebut.
terima kasih
salam kenal mas
saya ita lumajang mau tanya
saya mau menampilkan data di datagridview dari tabel barang di sql server 2008.
tabel barang berelasi dg tabel satuan shg tabel barang berisi kdsatuan.
ketika disave otomatis yg tersimpan dan yang ditampilkan di gridview adalah kdsatuan.
pertanyaanya adalah bagaimana nama satuan dr tabel satuan bisa tampil di datagridview tersebut.
terima kasih
kalo mengambil value header column dari checkbox dalam data grid yang kita klik, teru disimpannya dengan looping,, itu bagaimana ya ka....
Mas Jun
saya mau tanya tentang LINQ
bagaimana cara menulis sintaks sql
"select kode_dept from tbldepartemen where kode_dept in(select max(kode_dept) from tbldepartemen)" dalam LINQ ?
Terima Kasih
numpang tanya nih , kalo misalkan kita punya query yang isinya ada nama, department dan tanggal . nah kalo misalkan di tanggal nya itu ada tanggal dan jam , gimana cara agar tampil di datagridview nya hanya tanggal saja dan jam pada kolom tanggal tersebut masuk ke kolom time (kita tambahkan sendiri) gimana ya caranya ? butuh pencerahan nya master :( makasih
Post a Comment