DataGrid自定义排序

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值