DataGrid自定义排序

    技术2022-05-11  62

    DataGrid自定义排序要在3个部分写代码如下:

    1.

    private void Page_Load(object sender, System.EventArgs e)  {        if(!Page.IsPostBack)     {      //设置排序表达式      ViewState["SortOrder"] = "AA";//设置要排序设置的字段      //设置排序的升降序      ViewState["OrderDire"] = "ASC";     //MessageBox.ShowConfirm(ImageButton3,"确定删除?");      GridBind();     }   }

    2.      protected void GridBind()  {      ....//连接数据库   DataSet ds = new DataSet();   da.Fill(ds,"table1");//   DataGrid1.DataSource = ds.Tables[0];//   DataGrid1.DataKeyField = ds.Tables[0].Columns["DD"].ToString();   DataView view = ds.Tables["table1"].DefaultView;   //设置排序关键字   string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];   //设置排序表达式   view.Sort =  sort;   //数据邦定   DataGrid1.DataSource = view;

       DataGrid1.DataBind();    }

     

    3.

    private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)  {     //取得排序表达式   string vortExp = e.SortExpression;   //如果是当前排序表达式   if(ViewState["SortOrder"].ToString() == vortExp)   {    //如果原来是降序则改为升序,反之亦然    if((string)ViewState["OrderDire"] == "Desc")     ViewState["OrderDire"] = "ASC";    else     ViewState["OrderDire"] = "Desc";   }   else   {    //重新设置排序关键字    ViewState["SortOrder"] = e.SortExpression;   }   GridBind();  } 


    最新回复(0)