在网上也看了些关于 GridView 点击标题 进行排序的文章,然自己简单的实现了一个方法
首先.将GridView中要排序列的SortExpression设置为相关字段的列名(应对应为数据库中的字段名)
代码如下:
思路:用ViewState["direction"]存入排序的方向, 先将数据存入DataTable中,然后用表构建一个GridView以便利用其Sort属性进行排序
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
if (ViewState["direction"] == null)
ViewState["direction"] = "Desc";
else if (ViewState["direction"].ToString() == "Desc")
ViewState["direction"] = "Asc";
else if (ViewState["direction"].ToString() == "Asc")
ViewState["direction"] = "Desc";
string dir = ViewState["direction"].ToString();
string where = "Order By " + sortExpression + " " + dir;
DataTable dt = (new Data()).GetDataTable("Select * From [表名]");
DataView dv = new DataView(dt);
dv.Sort = sortExpression + " " + dir;
GridView1.DataSource = dv;
GridView1.DataBind();
}