Jumat, Juli 10, 2009

ASP.NET Custom GridView

Translate to : by

Dokumentasi hasil belajar .net selama idle di kantor :p Sudah banyak di post oleh .net developer di internet, seperti di sini


Pada .net framework 2.0 ke atas, Grid View sudah memiliki fitur Paging (membagi tampilan data menjadi beberapa halaman) dan Sorting (mengurutkan data yang ditampilkan). Tapi jika kita tidak mendefinisikan datasource sebelum kode di run (pada file .aspx), maka fitur built-in ini tidak akan bisa berjalan. Ketika kita mencoba meng-klik link paging akan muncul error seperti ini:



The GridView 'nama_grid_view' fired event PageIndexChanging which wasn't handled.

Sedangkan ketika kita mencoba untuk melakukan sort dengan meng-klik salah satu header kolom pada Grid View, maka akan muncul error seperti ini:



The GridView 'nama_grid_view' fired event Sorting which wasn't handled.

Jika itu masalah yang juga Anda alami, tambahkan lah method berikut pada embedded-code web form Anda (nama Grid View pada contoh ini adalah gvPaging):



C#


protected void gvPaging_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvPaging.PageIndex = e.NewPageIndex;
gvPaging.DataBind();
}

VB.Net

Protected Sub gvPaging_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvPaging.PageIndexChanging
gvPaging.PageIndex = e.NewPageIndex
BindCategory() 'custom procedure to bind your data to the gridview
End Sub

Untuk membuat sorting berfungsi dengan baik, tambahkan method berikut pada embedded-code web form Anda (nama Grid View pada contoh ini adalah gvSorting):



C#

protected void gvSorting_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dtSortTable = gvSorting.DataSource as DataTable;

if (dtSortTable != null)
{
DataView dvSortedView = new DataView(dtSortTable);
dvSortedView.Sort = e.SortExpression + " " + getSortDirectionString(e.SortDirection);

gvSorting.DataSource = dvSortedView;
gvSorting.DataBind();
}
}

private string getSortDirectionString(SortDirection sortDireciton)
{
string newSortDirection = String.Empty;
if(sortDirection== SortDirection.Ascending)
{
newSortDirection = "ASC";
}
else
{
newSortDirection = "DESC";
}
return newSortDirection
}

VB.Net

Protected Sub gvSorting_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles gvSorting.Sorting
Dim datatable As DataTable = gvSorting.DataSource
If Not IsNothing(datatable) Then
Dim dataview As DataView = New DataView(datatable)
dataview.Sort = e.SortExpression + " " + Me.getSortDirectionString(e.SortDirection)
gvSorting.DataSource = dataview
gvSorting.DataBind()
End If
End Sub

Private Function getSortDirectionString(ByVal sortDireciton As SortDirection) As String
Dim newSortDirection As String = String.Empty
If sortDireciton = SortDirection.Ascending Then
newSortDirection = "ASC"
Else
newSortDirection = "DESC"
End If
Return newSortDirection
End Function

1 komentar:

Unknown 1:50 PM  

Mau nambahin aja nii, untuk ASP.NET GridView khususnya Conditional Binding Expression dengan ASP.NET GridView lebih lengkapnya baca artikel di blog ini aja yaa..

http://windowshosting.blogdetik.com/2013/12/17/aspnet-hosting-conditional-binding-expression-dengan-aspnet-gridview/

Semoga bermanfaat :)

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Posting Komentar

  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP