Gridview标题头添加排序图片

向gridview标题头中添加排序图片,当点击某一个头标题时,在标题中出现升序箭头向上的图片,再点击一次时降序,在标题中出现箭头向下的图片,初始页面时在标题头中并不现实任何图片。

先定义好一个gridview,在gridview数据绑定结束后调下面方法。

protected void SortForImage(string sortDirection, string sortExpression)
        {
            if (!string.IsNullOrEmpty(sortExpression))
            {
                GridViewRow headRow = gvPlanedTools.HeaderRow;
                Image sortImage = new Image();
                if (sortDirection == "ASC")
                {
                    sortImage.ImageUrl = "~/_layouts/1033/IMAGES/WebPartImages/bullet_arrow_down.png";
                    sortImage.Style.Add("vertical-align", "bottom");
                }
                else
                {
                    sortImage.ImageUrl = "~/_layouts/1033/IMAGES/WebPartImages/bullet_arrow_up.png";
                    sortImage.Style.Add("vertical-align", "bottom");
                }
                int num = 0;
                foreach (DataControlField field in gvPlanedTools.Columns)
                {
                    if (field.SortExpression == sortExpression.ToString().Trim())
                    {
                        num = gvPlanedTools.Columns.IndexOf(field);
                    }
                }
                headRow.Cells[num].Controls.Add(sortImage);
            }
        }

另外在gridview sorting 方法中也需调用此方法,这里是在BindView()方法中调用上面添加图片排序的方法, 如:

protected void gvPlanedTools_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortExpression = e.SortExpression.ToString();
            string sortDirection = "ASC";
            if (sortExpression == gvPlanedTools.Attributes["SortExpression"])
            {
                sortDirection = (gvPlanedTools.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
            }
            gvPlanedTools.Attributes["SortExpression"] = sortExpression;
            gvPlanedTools.Attributes["SortDirection"] = sortDirection;
            BindView();
        }

BindView细节如下:

 private void BindView()
        {
            DataSet ds = GetDataSet();
            if (IsDateSetNullOREmpty(ds))
            {
                DataTable dt = ds.Tables[0];
                ViewState["PageCount"] = dt.Rows.Count.ToString();
                string sortExpression = gvPlanedTools.Attributes["SortExpression"];
                string sortDirection = gvPlanedTools.Attributes["SortDirection"];
                 if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
                {
                    dt.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);
                }
                gvPlanedTools.DataSource = dt.DefaultView;
                gvPlanedTools.DataBind();
                SortForImage(gvPlanedTools.Attributes["SortDirection"], gvPlanedTools.Attributes["SortExpression"]);
            }
        }

 

 

转载于:https://www.cnblogs.com/bradwarden/p/3255684.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值