gridview自定义绑定字段实现排序功能

 <asp:BoundField DataField="danwei_name" HeaderText="单位"
                SortExpression="danwei_name" />

或在GRIDVIEW中 -编辑列-选择要排序的字段,找到SortExpression排序表达式中加入要填写的字段

 思路:使用ViewState将排序前状态保存,在if (!IsPostBack)
        {
            ViewState["SortOrder"] = "序列号";//排序时
            ViewState["OrderDire"] = "ASC";

        }

 

 protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)//对序列号进行双向排序
     {//先编辑列,将序列号的SortExpress写成其字段host_sn
         string sPage = e.SortExpression;
        if (ViewState["SortOrder"].ToString() == sPage)
        {
            if (ViewState["OrderDire"].ToString() == "Desc")
                ViewState["OrderDire"] = "ASC";
            else
                ViewState["OrderDire"] = "Desc";
        }
        else
        {
            ViewState["SortOrder"] = e.SortExpression;
        }
       bind ();//排序后的绑定
    }

public void bind()//排序时的绑定
    {
string sqlstr = ViewState ["querystr"].ToString ();
              SqlDataAdapter myda = new SqlDataAdapter(sqlstr, conn );
        DataSet myds = new DataSet();
                myda.Fill(myds, "terminal");
        DataView view = myds.Tables["terminal"].DefaultView;
        string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
        view.Sort = sort;//dataview排序顺序
        GridView1.DataSource = view;
        GridView1.DataBind();
           }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fangqm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值