gridview 的排序

在gridview 当中我们时常会要对各列进行排序,下面是排序的代码:

 #region GridView排序
        protected void GridViewRowCreated(object sender, GridViewRowEventArgs e, GridView gvData)
        {
            if (e.Row.RowType == DataControlRowType.Header) //如果是表头
            {
                foreach (TableCell MyHeader in e.Row.Cells) //对每一单元格     
                {
                    if (MyHeader.HasControls())
                    {
                        if (((LinkButton)MyHeader.Controls[0]).CommandArgument == GridViewSortExpression)
                        {
                            if (gvData.SortDirection == GridViewSortDirection) //依排序方向加入方向箭头
                                MyHeader.Controls.Add(new LiteralControl("↑"));
                            else
                                MyHeader.Controls.Add(new LiteralControl("↓"));
                        }
                    }
                }
            }
        }
        protected string GridViewSorting(object sender, GridViewSortEventArgs e)
        {
            if (GridViewSortDirection.Equals(SortDirection.Ascending))
            {
                GridViewSortDirection = SortDirection.Descending;
                GridViewSortExpression = e.SortExpression;
                return e.SortExpression + " desc";
            }
            else
            {
                GridViewSortDirection = SortDirection.Ascending;
                GridViewSortExpression = e.SortExpression;
                return e.SortExpression + " asc";
            }
        }
        public SortDirection GridViewSortDirection
        {
            get
            {
                if (ViewState["sortDirection"] == null)
                    ViewState["sortDirection"] = SortDirection.Ascending;
                return (SortDirection)ViewState["sortDirection"];
            }
            set { ViewState["sortDirection"] = value; }
        }
        public string GridViewSortExpression
        {
            get
            {
                if (ViewState["sortExpression"] == null)
                    ViewState["sortExpression"] = "";
                return ViewState["sortExpression"].ToString();
            }
            set { ViewState["sortExpression"] = value; }
        }
        #endregion

 

然后在gridview 的 GridView_RowCreated里调用上面的GridViewRowCreated。。。。在 GridView_Sorting事件里调用gridview 的绑定的方法(最好带一个排序的参数---调用上面的ViewSorting方法作为这个参数).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值