Paging dilakukan agar dalam sekali tampilan muncul sekumpulan data tertentu dalam satu kali tampil. Semisal dalam penarikan data ada 100 baris yang tampil, maka kita bisa mengatur agar hanya 20 baris untuk setiap kali tampil. Dengan demikian akan dibutuhkan navigasi halaman untuk mencapai data berikutnya. Pada DataGrid hal ini difasilitasi dengan baik.
Langkah yang harus kita lakukan ialah:
1. Mengatur property AllowPaging pada DataGrid, untuk menentukan bahwa grid menggunakan paging. Nilai yang diisikan ialah true.
2. Melalui property PageSize pada DataGrid, untuk mengatur jumlah baris yang tampak sekali tampil. Data yang diisikan ialah jumlah baris yang dikehendaki.
3. Mengisi event PageIndexChanged pada Datagrid, untuk menentukan tampilan page berikutnya yang harus kelihatan.
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataSource = dsk;
DataGrid1.DataBind();
DataNumbering(DataGrid1);
}
Untuk mengakses event pageindexchanged ini kita bisa lakukan dengan membuka window properties pada bagian event dan mendobelklik kolom PageIndexChanged, sehingga akan muncul template kode sepert ini dibawah ini:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
}
Penjelasan dari kode di atas adalah sebagai berikut:
Event di atas akan diproses oleh program, setiap kali page index pada sebuah grid berubah. Perubahan ini tentu saja dipicu dengan user menekan tombol next atau previous pada grid yang muncul setelah kita melakukan langkah 2.
Dengan membagi-bagi baris data dalam paging, maka setiap page dikenali dengan page index. Pada event di atas kita, harus menentukan agar page index yang dituju menjadi page index saat itu yaitu dengan kode berikut ini.
DataGrid1.CurrentPageIndex = e.NewPageIndex;
Di samping itu, kita juga harus melakukan binding ulang pada data.
DataGrid1.DataSource = datasetKita;
DataGrid1.DataBind();
Sehingga isi event di atas akan menjadi seperti ini:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataSource = datasetKita;
DataGrid1.DataBind();
}
Dengan melengkapi kode di atas maka Datagrid akan berhasil menampilkan paging sebagaimana yang kita kehendaki.
No comments:
Post a Comment