由于我是.NET新手,我需要解释以下代码。谁能给我解释一下呢?
protected void GridView1_Sort(object sender, GridViewSortEventArgs e)
{
GridView grid = sender as GridView;
DataTable dt = Session["List"] as DataTable;
string month = System.DateTime.Now.AddMonths(-3).ToString("MMMM");
if (dt != null)
{
dt.DefaultView.Sort = e.SortExpression + " " + GetSortDirection(e.SortExpression);
grid.DataSource = Session["List"];
grid.DataBind();
}
}
答案 0 :(得分:2)
虽然这通常不是"解释我的代码"网站...
Grid Sort
方法:根据指定的排序表达式和方向对GridView控件进行排序。
protected void GridView1_Sort(object sender, GridViewSortEventArgs e)
{
将发件人投射到GridView。发件人始终是举起活动的控件。
GridView grid = sender as GridView;
从GridView
获取session
的数据源,因为它存储在先前的请求中。请注意,所有对象都放置在每个页面生命周期的末尾,因此您需要将其保留在某个位置(Session,ViewState)或从rdbms再次加载它(推荐)。
DataTable dt = Session["List"] as DataTable;
以下行是多余的,可以删除
string month = System.DateTime.Now.AddMonths(-3).ToString("MMMM");
我假设旧的方向存储在ViewState / Session中,并且GetSortDirection
方法反转排序方向(DESC,如果它之前在该列上排序了ASC,依此类推)。
string month = System.DateTime.Now.AddMonths(-3).ToString("MMMM");
if (dt != null)
{
dt.DefaultView.Sort = e.SortExpression + " " + GetSortDirection(e.SortExpression); // i assume that the old direction
再次在Session中存储它并对GridView
。
grid.DataSource = Session["List"];
grid.DataBind();
}
}