记录:Gridview 自动排序的实现方法

几个点,记一个例子

前台

1.<asp:GridView ID="gvResult" runat="server" AllowSorting="true" OnSorting="gvResult_Sorting"/>

2.<asp:TemplateField SortExpression="Sort">    --这个写法有多种

后台

3.设置不同的排序方式,并重新绑定数据到GridView

protected void gvResult_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortExpression = e.SortExpression.ToString();
            string sortDirection = "ASC";

            if (sortExpression == this.gvResult.Attributes["SortExpression"])
            {
                sortDirection = this.gvResult.Attributes["sortDirection"].ToString() == sortDirection ? "DESC" : "ASC";
            }

            this.gvResult.Attributes["SortExpression"] = sortExpression;
            this.gvResult.Attributes["sortDirection"] = sortDirection;

            #region BindGrid
            BindGrid();
            #endregion
        }

        private void BindGrid()
        {
            string sortExpression = this.gvResult.Attributes["SortExpression"];
            string sortDirection = this.gvResult.Attributes["sortDirection"];

            DataTable dt = mainForm.Query();

            if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
            {
                dt.DefaultView.Sort = string.Format("{0} {1}",sortExpression,sortDirection);
            }

            this.gvResult.DataSource = dt;
            this.gvResult.DataBind();
        }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值