1.在GridView1添加AllowSorting="True" OnSorting="GridView1_Sorting"
2.在要排序的列加上SortExpression="Status"
3.
/// <summary>
/// 排序字段
/// </summary>
private string SortField
{
get
{
if (ViewState["SortField"] == null)
{
ViewState["SortField"] = "Status";
}
return ViewState["SortField"].ToString();
}
set
{
ViewState["SortField"] = value;
}
}
//排序
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
SortField = e.SortExpression;
string sortExp = GridView1.Attributes["SortExpression"];
string sortModule = GridView1.Attributes["SortDirection"];
if (!string.IsNullOrEmpty(sortExp))
{
GridView1.Attributes["SortExpression"] = SortField;
if (sortExp == SortField)
{
if (sortModule == "desc")
{
GridView1.Attributes["SortDirection"] = "asc";
}
else
{
GridView1.Attributes["SortDirection"] = "desc";
}
}
}
//排序控制
if (GridView1.Attributes["SortExpression"] == null)
{
GridView1.Attributes["SortExpression"] = SortField;
GridView1.Attributes["SortDirection"] = "desc";
}
SetPageData();
}
4.點擊列表排序時,取得排序字段和asc/desc
string orderSet = SortField + " " + GridView1.Attributes["SortDirection"];