天天看點

DataGrid的雙向排序

protected void Page_Load(object sender, EventArgs e)

    {

        if (!this.IsPostBack)

        {

                      if (this.dgAllOrderList.Attributes["SortExpression"] == null)

                    {

                        ///排序的字段

                        dgAllOrderList.Attributes["SortExpression"] = "MealPlan_DateTime";

                        ///正向還是反向排序

                        dgAllOrderList.Attributes["SortDirection"] = "desc";

                    }

                    this.Grid();

         }

    }

 private void Grid()

    {

         ///獲得資料的綁定

        DataTable dt = OrderMeal.GetAllMealList();

        DataView dv = new DataView();

        dv = dt.DefaultView;

        dv.Sort = dgAllOrderList.Attributes["SortExpression"] + " " + dgAllOrderList.Attributes["SortDirection"];

        this.dgAllOrderList.DataSource = dv;

        this.dgAllOrderList.DataBind();

    }

 protected void dgAllOrderList_SortCommand(object source, DataGridSortCommandEventArgs e)

    {

        string SortExpression = e.SortExpression.ToString();

        string SortDirection = "desc";

        if (SortExpression == dgAllOrderList.Attributes["SortExpression"])

        {

            SortDirection = (dgAllOrderList.Attributes["SortDirection"].ToString() == SortDirection ? "asc" : "desc");

        }

        this.dgAllOrderList.Attributes["SortExpression"] = SortExpression;

        this.dgAllOrderList.Attributes["SortDirection"] = SortDirection;

        this.Grid();

    }