Menu Horisontal

Senin, 23 April 2012

Paging datagridview VB.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.
Datagridview Paging
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.

Sintax

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

GetRowaCount()

Fungsi ini berguna untuk Mendapatkan jumlah record pada database
Private Function GetRowsCount() As Integer
    da = New SqlDataAdapter("select * from coba", 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

3 komentar:

Anonim mengatakan...

bagus om tehnik paging nya,, sip!

Ujang Rohidin mengatakan...

Siip gan,, barangkali ada yg mau baca Tutor PHP ?

http://ujang-rohidin.blogspot.com

Thank's

Sandi mengatakan...

kl teknik paging di listview gmn gan, apakah sama konsepnya dgn dgview.?