この MSDN リンクのコードを使用して、DataTable を DataSource として GridView に並べ替えを実装しました。ただし、列をクリックすると初めてグリッドが並べ替えられ、その後、他の列をクリックしても並べ替えられません。
PageLoad() イベントのコード -
if (!Page.IsPostBack)
{
HView hv = new HView ();
DataTable HTable = new DataTable("hTable");
HTable = hv.FillTable();
Session["hTable"] = HTable;
GridView2.DataSource = Session["hTable"];
GridView2.DataBind();
}
Sorting イベントのコード -
protected void GridView2_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable notesDT = Session["hTable"] as DataTable;
if (notesDT != null)
{
notesDT.DefaultView.Sort = e.SortExpression + " " + GetSortDirection(e.SortDirection);
GridView2.DataSource = Session["hTable"];
GridView2.DataBind();
}
}
私が間違っているかもしれないことを誰かが知っていますか?