Hi
It is going in SortGridview & SortExpression/Direction value also gets changed but it is not sorting the data.
private void SortGridView(string sortExpression, string direction)
{
// You can cache the DataTable for improving performance
GetData();
DataTable dt = grdPlanning.DataSource as DataTable;
DataView dv = new DataView(dt);
dv.Sort = sortExpression + direction;
grdPlanning.DataSource = dv;
grdPlanning.DataBind();
}
protected void grdPlanning_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
SortGridView(sortExpression, DESCENDING);
}
else
{
GridViewSortDirection = SortDirection.Ascending;
SortGridView(sortExpression, ASCENDING);
}
}
private const string ASCENDING = " ASC";
private const string DESCENDING = " DESC";
public SortDirection GridViewSortDirection
{
get
{
if (ViewState["sortDirection"] == null)
ViewState["sortDirection"] = SortDirection.Ascending;
return (SortDirection)ViewState["sortDirection"];
}
set
{
ViewState["sortDirection"] = value;
}
}