Using System;
Using System.Data;
Using System.Configuration;
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 _default:system.web.ui.page
{
protected void Page_Load (object sender, EventArgs e)
{
if (! IsPostBack)
{
Set initial sort parameter values
Incorrect property setting method: SortExpression, SortDirection are GridView read-only properties and cannot be directly assigned.
This. Gridview1.sortexpression = "id";
This. Gridview1.sortdirection = "ASC";
Correct method of setting property
This. GRIDVIEW1.ATTRIBUTES.ADD ("SortExpression", "id");
This. GRIDVIEW1.ATTRIBUTES.ADD ("SortDirection", "ASC");
Binding data Source to GridView
This. Bindgridview ();
}
}
<summary>
GridView Sort Events
</summary>
protected void Gridview1_sorting (object sender, GridViewSortEventArgs e)
{
Getting sorted data columns from event arguments
String sortexpression = E.sortexpression.tostring ();
Assume that the sort direction is "sequential"
String sortdirection = "ASC";
"ASC" is compared to the sort direction obtained by the event parameter to modify the GridView sort Direction parameter
if (SortExpression = = this. gridview1.attributes["SortExpression"])
{
Get the next sort status
SortDirection = (this. gridview1.attributes["SortDirection"]. ToString () = = SortDirection? "DESC": "ASC");
}
Reset GridView Sort data columns and sort direction
This. gridview1.attributes["SortExpression"] = SortExpression;
This. gridview1.attributes["SortDirection"] = SortDirection;
This. Bindgridview ();
}
<summary>
Bind to GridView
</summary>
private void Bindgridview ()
{
Get the GridView Sort data column and sort direction
String SortExpression = this. gridview1.attributes["SortExpression"];
String sortdirection = this. gridview1.attributes["SortDirection"];
Invoking Business Data acquisition methods
DataTable dtbind = This.getdb ();
The default data view to display based on the GridView Sort data columns and sort direction settings
if (!string. IsNullOrEmpty (SortExpression)) && (!string. IsNullOrEmpty (SortDirection))
{
DtBind.DefaultView.Sort = string. Format ("{0} {1}", SortExpression, SortDirection);
}
The GridView binds and displays the data
This. Gridview1.datasource = Dtbind;
This. Gridview1.databind ();
}
<summary>
Ways to get data sources
</summary>
<returns> Data Source </returns>
Private DataTable Getdb ()
{
DataTable dt = new DataTable ();
Dt. Columns.Add ("id");
Dt. Columns.Add ("name");
Dt. Columns.Add ("Age");
Dt. Rows.Add (new object[] {"000001", "Hekui", "26"});
Dt. Rows.Add (new object[] {"000002", "Zhangyu", "26"});
Dt. Rows.Add (new object[] {"000003", "Zhukundian", "27"});
Dt. Rows.Add (new object[] {"000004", "Liyang", "25"});
Dt. Rows.Add (new object[] {"000005", "Caili", "27"});
return DT;
}
}