Sunday, January 21, 2007

Easy Sort

Code snippet for .net GridView Sorting

// property to keep of track of current sort column of Grid
private string gridSortColumn
{
get
{
if (ViewState["gridSortColumn"] == null)
{
return String.Empty;
}
else
return ViewState["gridSortColumn"].ToString();
}
set
{
ViewState["gridSortColumn"] = value;
}
}

// property to keep track of current sort order of the current sort column of Grid
private string gridSortOrder
{
get
{
if (ViewState["gridSortOrder"] == null)
{
return String.Empty;
}
else
return ViewState["gridSortOrder"].ToString();
}
set
{
ViewState["gridSortOrder"] = value;
}
}


protected void Grid1_Sorting(object sender, GridViewSortEventArgs e)
{

DataSet ds = new DataSet();

// FILL DATA SOME HOW

DataView oDataView = ds.Tables[0].DefaultView;

if (oDataView != null)
{
if (gridSortColumn != e.SortExpression)
{
gridSortColumn = e.SortExpression;
gridSortOrder = "ASC";
}
else
{
gridSortOrder = (gridSortOrder == "ASC") ? "DESC" : "ASC";
}
oDataView.Sort = gridSortColumn + " " + gridSortOrder;
}
Grid1.DataSource = oDataView;
Grid1.DataBind();
}

0 comments: