Gridview Sorting

 

Gridview Sorting

 

protected void Page_Load(object sender, EventArgs e)

{

    if (!IsPostBack)

    {

        ViewState["sortOrder"] = "";

        bindGridView("","");

    }

}

 

public void bindGridView(string sortExp,string sortDir)

{

 

    string connStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();

 

    // object created for SqlConnection Class.

    SqlConnection mySQLconnection = new SqlConnection(connStr);

 

    if (mySQLconnection.State == ConnectionState.Closed)

    {

        mySQLconnection.Open();

    }

 

    SqlCommand mySqlCommand = new SqlCommand("select * from products", mySQLconnection);

    SqlDataAdapter mySqlAdapter = new SqlDataAdapter(mySqlCommand);

    DataSet myDataSet = new DataSet();

    mySqlAdapter.Fill(myDataSet);

 

    DataView myDataView = new DataView();

    myDataView = myDataSet.Tables[0].DefaultView;

 

    if (sortExp!=string.Empty)

    {

        myDataView.Sort = string.Format("{0} {1}", sortExp, sortDir);

    }

 

    GridView1.DataSource = myDataView;

    GridView1.DataBind();

 

    if (mySQLconnection.State == ConnectionState.Open)

    {

        mySQLconnection.Close();

    }

 

}

 

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)

{

 

    bindGridView(e.SortExpression, sortOrder);

   

}

 


 

public string sortOrder

{

    get

    {

        if (ViewState["sortOrder"].ToString() == "desc")

        {

            ViewState["sortOrder"] = "asc";

        }

        else

        {

            ViewState["sortOrder"] = "desc";

        }

 

        return ViewState["sortOrder"].ToString();

    }

    set

    {

        ViewState["sortOrder"] = value;

    }

}