1.在需要排序的字段裏加:SortExpression,如:
<asp:BoundColumn DataField="D_DATE" HeaderText="申報日期" SortExpression="D_DATE">
</asp:BoundColumn>
----------------
2.在PageLoad()裏:(即開始Load頁面時以什麽方式排序)
ViewState["SortOrder"] = "D_DATE";
ViewState["OrderDire"] = "ASC";
----------------
3.在綁定Grid時:
假設數據源為DataView,ID為objDV.
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
objDV.Sort = sort;
this.GridView1.DataSource = objDV;
this.GridView1.DataBind();
----------------
4.在GridView的Sorting事件中:
protected void GridView1_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();//綁定Grid方法
}
(如果是DataGrid,則為SortCommand事件)