Mode Malam
| Mode Tampilan
Penulis : admin

Home » Programming » Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET
Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET

Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET


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

  1. Buka project vb.net mu, kemudian pada menubar klik Project - Manage Nudget Packages. Kemudian akan terbuka halaman Nudget Package Manager.
  2. Pastikan kamu terkoneksi ke internet terlebih dahulu untuk mendownload packagenya. Pada kolom pencarian silahkan ketik ADGV dan kemudian klik install, seperti pada gambar berikut.
    Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET
  3. 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
    Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET
    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

  1. 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.
  2. Buat Sebuah Item baru berupa Windows Form
  3. Drag and Drop Control Adgv tadi kedalam form yang sudah kita buat, seperti gambar berikut.
    Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET
  4. uk beralih ke code view, kalian bisa menekan F7 pada keyboard atau klik kanan pada form kemudian klik View Code.
  5. 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.
  6. 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.
  7. 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
  8. 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
  9. 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.
Membuat Filter Dan Sort Kolom Pada DataGridView Seperti Di Excel - VB.NET

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.

 

 

Tags: #vbnet #datagridview
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more