Paging datagridview VB.Net

alfa6661
- December 31, 2011
0 (0 votes)
Rate :
Membuat pagination pada DataGridView Visual Basic .Net

Artikel Membuat Pagination ini menjelaskan cara membuat paging pada datagridview VB.Net dengan menggunakan database SQL Server 2005. Pagination berguna untuk menampilkan data yang banyak ke dalam beberapa halaman untuk mempercepat proses penampilan data. Selain itu memberi kemudahan kepada pengguna dalam mencari data.

Disini saya akan mencoba untuk memberikan sedikit tips untuk menampilkan database dalam tabel menggunakan VB.Net. Seorang user tentu akan merasa kesulitan disaat data semakin banyak maka tampilan tabel juga akan semakin menumpuk dan memanjang berdasarkan jumlah yang ada pada database. Solusinya adalah membuat suatu paging pada tabel data dijadikan beberapa page.

Syntax

Pertama dan yang paling utama. tuliskan script berikut ini pada baris pertama

Imports System.Data.SqlClient

Deklarasi Variabel

Selanjutnya, buat beberapa variabel yang akan digunakan

Dim da As SqlDataAdapter
Dim startRecord As Integer = 0 'Deklarasi record dimulai
Dim ds As DataSet
Dim totalrecordperpage As Integer = 5 'Total record yang akan ditampilkan per page

Koneksi Database

Kemudian buat koneksi ke database SQL Server

Private Function koneksi() As SqlConnection
    Dim c As String = "server=nama_server;database=nama_db;integrated security=true"
    Dim cn As New SqlConnection(c)
    Try
        cn.Open()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    Return cn
End Function

Menampilkan data

Private Sub go()
    Try
        cek()
        da = New SqlDataAdapter("select * from tabel", koneksi)
        ds = New DataSet
        da.Fill(ds, startRecord, totalrecordperpage, "tabel")
        DataGridView1.DataSource = ds.Tables(0)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

GetRowsCount()

Fungsi ini berguna untuk Mendapatkan jumlah record pada database

Private Function GetRowsCount() As Integer
    da = New SqlDataAdapter("select * from tabel", koneksi)
    ds = New DataSet
    da.Fill(ds)
    Return ds.Tables(0).Rows.Count
End Function

Cek

digunakan untuk mengaktifkan dan non aktifkan button

Private Sub cek()
    Dim endofrecord As Integer = GetRowsCount() / totalrecordperpage
    If startRecord = 0 Then
       btnprev.Enabled = False
    ElseIf startRecord / totalrecordperpage = endofrecord Then
       btnNext.Enabled = False
   Else
       btnprev.Enabled = True
       btnNext.Enabled = True
   End If
End Sub

Cara penggunaan

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
    startRecord = startRecord + totalrecordperpage
    go()
End Sub
 
Private Sub btnprev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnprev.Click
    startRecord = startRecord - totalrecordperpage
    go()
End Sub

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

No comments associated with this article