Home > ASP.Net > Sorting GridView Columns

Sorting GridView Columns


Hi try this example :-

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; }
    }
    protected void GridView1_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 void SortGridView(string sortExpression,string direction)
    {
        //  You can cache the DataTable for improving performance
        DataTable dt = GetData().Tables[0];

        DataView dv = new DataView(dt);
        dv.Sort = sortExpression + direction;        

        GridView1.DataSource = dv;
        GridView1.DataBind();        
    }

Hope it helps!

Good Luck

Advertisements
Categories: ASP.Net
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: