Search This Blog

Friday, October 31, 2008

Put your DataTable value to ViewState such that you can rearrange the ViewState

ViewState["userDataSource"] = dtTemp;


public SortDirection GridViewSortDirection
{
get
{
if (ViewState["sortDirection"] == null)
ViewState["sortDirection"] = SortDirection.Ascending;
return (SortDirection)ViewState["sortDirection"];
}
set
{
ViewState["sortDirection"] = value;
}
}


private void SortGridView(string sortExpression, string direction)
{
DataTable dt = ((DataTable)ViewState["userDataSource"]);
DataView dv = new DataView(dt);
dv.Sort = sortExpression + " " + direction;

this.gvUser.DataSource = dv;
gvUser.DataBind();
}

protected void gvUser_Sorting(object sender, GridViewSortEventArgs e)
{

string sortExpression = e.SortExpression;
GridView dd = ((GridView)(object)sender);

if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
SortGridView(sortExpression, "DESC");
}
else
{
GridViewSortDirection = SortDirection.Ascending;
SortGridView(sortExpression, "ASC");
}

}

No comments: