Front desk:
Code
Copy Code code as follows:
<%@ Page language= "C #" autoeventwireup= "true" codefile= "GridViewSort.aspx.cs" inherits= "Gridviewsort"%>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<title>gridview sorting Simple Implementation </title>
<body>
<form id= "Form1" runat= "Server" >
<div>
<asp:gridview id= "Gdvsort" runat= "Server" onsorting= "gdvsort_sorting" >
</asp:GridView>
</div>
</form>
</body>
Background:
Code
Copy Code code as follows:
Using System;
Using System.Data;
Using System.Configuration;
Using System.Collections;
Using System.Web;
Using System.Web.Security;
Using System.Web.UI;
Using System.Web.UI.WebControls;
Using System.Web.UI.WebControls.WebParts;
Using System.Web.UI.HtmlControls;
public partial class GridViewSort:System.Web.UI.Page
{
protected void Page_Load (object sender, EventArgs e)
{
if (! IsPostBack)
{
viewstate["SortOrder"] = "PID";
viewstate["Orderdire"] = "Desc";
Bind ();
}
}
private void Bind ()
{
Gdvsort.allowsorting = true;
DataView dv = GETDT (). DefaultView;
Dv. Sort = (string) viewstate["SortOrder"] + "" + (String) viewstate["Orderdire"];
Gdvsort.datasource = DV;
Gdvsort.databind ();
}
<summary>
Even database trouble, directly construct a DataTable
</summary>
<returns></returns>
Private DataTable Getdt ()
{
DataTable dt = new DataTable ();
Dt. Columns.Add ("PID", typeof (System.Int32));
Dt. Columns.Add ("UserName", typeof (System.String));
for (int i = 0; i < i++)
{
DataRow dr = dt. NewRow ();
dr["PID" = i;
dr["UserName"] = "name" + i;
Dt. Rows.Add (DR);
}
return DT;
}
protected void Gdvsort_sorting (object sender, GridViewSortEventArgs e)
{
string spage = E.sortexpression;
if (viewstate["SortOrder"]. ToString () = = spage)
{
if (viewstate["Orderdire"]. ToString () = = "Desc")
{
viewstate["Orderdire"] = "ASC";
}
Else
{
viewstate["Orderdire"] = "Desc";
}
}
Else
viewstate["SortOrder"] = e.sortexpression;
Bind ();
}
}