Gridview sorting with datatable

    在一个项目中遇到这么个情况:gridview跟datatbale绑定的。这么做法就不能用排序功能了,要自己写这个功能。小弟是参照别人提供的方法实现的这个功能。
参照的链接: http://www.highoncoding.com/Articles/176_Sorting_GridView_Manually_.aspx。 不想看英文的就看小弟下面写的,想看原文的,就点上面那个链接吧。
 public DataTable CreateData()
    {
        string query = "";//SQL 文
        DataSet ds = new DataSet();
        ds = Sqlcon.GetDataBySql(query);//数据库查询方法,以dataset形式返回
        DataTable dt = ds.Tables[0];
        return dt;
    }

    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
        string sortExpression = e.SortExpression;
        if (GridViewSortDirection == SortDirection.Ascending)
        {
            GridViewSortDirection = SortDirection.Descending;
            SortGridView(sortExpression, " DESC");
        }
        else
        {
            GridViewSortDirection = SortDirection.Ascending;
            SortGridView(sortExpression, " ASC");
        }
    }

    private void SortGridView(string sortExpression, string direction)
    {
        DataTable dt = CreateData();
        if (dt != null)
        {
            DataView dv = new DataView(dt);
            dv.Sort = sortExpression + direction;
            GridView1.DataSource = dv;
            GridView1.DataBind();
        }
    }

    public SortDirection GridViewSortDirection
    {
        get
        {
            if (ViewState["sortDirection"] == null)
            {
                ViewState["sortDirection"] = SortDirection.Ascending;
            }
            return (SortDirection)ViewState["sortDirection"];
        }
        set
        {
            ViewState["sortDirection"] = value;
        }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值