DataGridView adalah sebuah control yang berbentuk table dan memiliki fungsi untuk merepresentasikan data. Pada kesempatan kali ini kita akan membuat sebuah DataGridView yang memiliki fungsi Filtering dan Sorting pada setiap kolomnya seperti di Excel. Kita tidak menggunakan DataGridView bawaan dari vb.net melainkan menggunakan library .dll yang ada Nudget Package Meneger. Langsung ke tutorialnya saja.
advertisement
Instalasi Packgae AdvacedDataGridView
- Buka project vb.net mu, kemudian pada menubar klik Project - Manage Nudget Packages. Kemudian akan terbuka halaman Nudget Package Manager.
- Pastikan kamu terkoneksi ke internet terlebih dahulu untuk mendownload packagenya. Pada kolom pencarian silahkan ketik ADGV dan kemudian klik install, seperti pada gambar berikut.
- Untuk menampilkan AdvancedDataDridView yang sudah kita install tadi kedalam toolbox control. Jika AdvancedDataGridView tidak muncul otomatis di Toolbox silahkan pilih di bagian Toolbox Klik kanan pada group Data dan klik choose items. Kemudian akan muncul popup berikut
Klik tab .NET Framwork Components - Browse. Kemudian cari file AdvancedDataGridView.dll kemudian klik open.
Sekarang AdvancedDataGridView sudah bisa kita gunakan. Sekarang tinggal bagaimana cara menggunakannya.
Cara Menggunakan AdvancedDataGridView
- Buat sebuah Class SqlHelper seperti pada artikel yang pernah kita bahas sebelumnya, jika kalian belum pernah membuatnya silahkan baca artikel Cara membuat SqlHelper di Vb.net.
- Buat Sebuah Item baru berupa Windows Form
- Drag and Drop Control Adgv tadi kedalam form yang sudah kita buat, seperti gambar berikut.
- uk beralih ke code view, kalian bisa menekan F7 pada keyboard atau klik kanan pada form kemudian klik View Code.
- Buat sebuah variable berupa BindingSource seperti berikut
Public Class FormMain Dim bs As BindingSource = New BindingSource() End Class
BindingSource inilah yang nantinya digunakan untuk memfilter dan mensorting data membindingnya ke datagridview. sehingga ketika data yang ada di dalam BindingSource berubah, maka data yang ditampilkan didalam datagridview juga akan berubah. - Buat Event Handle FormLoad seperti berikut.
Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'Koding didalam sini untuk mengambil dan menampilkan data' End Sub
Untuk menkonfigurasi koneksi, mengambil data, dan menampilkannya kedalam DataGridView kita menggunakan Event Handle FormLoad seperti Diatas. - Di dalam Methode Event Handle Formload yang tadi sudah kita buat, silahkan paste code berikut.
Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load setConnection("Data Source=PC177141\SQLEXPRESS;User ID=sa;pwd=P@ssw0rd!;Initial Catalog=MYAPP") 'Ganti dengan koneksi kalian Dim query = "select * from users" 'Silahkan ganti dengan nama table yang kalian tampilkan datanya bs.DataSource = getDataSet(query).Tables(0) AdvancedDataGridView1.DataSource = bs AdvancedDataGridView1.AllowUserToAddRows = False End Sub
- AdavancedDataGridView memiliki Events Handle Berupa FilterStringChanged dan SortStringChanged. Event inilah yang akan kita gunakan untuk memfiltering dan mensorting data yang ada di dalam BindingSource tadi. Cara menggunakannya silahkan paste code berikut.
Private Sub AdvancedDataGridView1_SortStringChanged(sender As Object, e As EventArgs) Handles AdvancedDataGridView1.SortStringChanged bs.Filter = AdvancedDataGridView1.SortString End Sub Private Sub AdvancedDataGridView1_FilterStringChanged(sender As Object, e As EventArgs) Handles AdvancedDataGridView1.FilterStringChanged bs.Filter = AdvancedDataGridView1.FilterString End Sub
- Koding akhir yang sudah kita buat tadi akan seperti berikut.
Public Class FormMain Dim bs As BindingSource = New BindingSource() Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load setConnection("Data Source=PC177141\SQLEXPRESS;User ID=sa;pwd=P@ssw0rd!;Initial Catalog=MYAPP") Dim query = "select * from users" bs.DataSource = getDataSet(query).Tables(0) AdvancedDataGridView1.DataSource = bs AdvancedDataGridView1.AllowUserToAddRows = False End Sub Private Sub AdvancedDataGridView1_SortStringChanged(sender As Object, e As EventArgs) Handles AdvancedDataGridView1.SortStringChanged bs.Filter = AdvancedDataGridView1.SortString End Sub Private Sub AdvancedDataGridView1_FilterStringChanged(sender As Object, e As EventArgs) Handles AdvancedDataGridView1.FilterStringChanged bs.Filter = AdvancedDataGridView1.FilterString End Sub End Class
Oke sudah selesai, selanjutnya jika kalian menjalankan programnya hasilnya akan seperti gambar berikut.
Note : Jika kalian ingin menonaktifkan fitur filtering atau sorting pada kolom tertentu, kalian bisa menggunakan code berikut.
AdvancedDataGridView1.DisableFilter(AdvancedDataGridView1.Columns("Nama Kolom"))
advertisement
Sekian dulu tutorial cara membuat filter dan sort kolom pada datagridview. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, dan jangan lupa tinggalkan jejak dengan berkomentar dibawah ini. File projectnya bisa kalian download di sini.
Silahkan berkomentar dengan baik dan bijak!