gridview 实现排序

来源:互联网 发布:苹果忽略网络找不到了 编辑:程序博客网 时间:2024/05/14 17:45
GridView控件提供了用于实现排序功能的接口,通过设置相关属性并实现排序事件的处理程序就可以完成排序功能。
第一步,点击选中GridView控件,设置GridView的AllowSorting属性为True,如下图所示:

第二步,设置待排序字段的SortExpression属性,如下图所示:

    首先点击GridView右上角的小箭头,出现如下界面:



然后,点击“ Edit Columns……”,打开如下界面: 



点击待排序的字段(如项目类别),在右边出现的该字段的属性中,设置其SortExpression属性为该字段的DataField的值,如下图所示:


注:如果有多个待排序字段,可以按照上述方法,依次设置目标字段的SortExpression属性。

第三步:设置GridView的Sorting方法,如下图所示:



第四步:编写排序函数gvProj_Sorting

代码如下:

        /// <summary>
        /// 排序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void gvProj_Sorting(object sender, GridViewSortEventArgs e)
        {

            //设置排序字段和排序方式
            if (ViewState["SortDirection"] == null) ViewState["SortDirection"] = "DESC";
            if (ViewState["SortDirection"].ToString() == "ASC") ViewState["SortDirection"] = "DESC";
            else ViewState["SortDirection"] = "ASC";
            ViewState["SortExpression"] = e.SortExpression;

            //设置数据源

            DataTable dt = (DataTable)Session["MyDataTable"];
            DataView myDataView= new DataView(dt);

            //对数据视图进行重新排序
            myDataView.Sort = ViewState["SortExpression"].ToString() + " " + ViewState["SortDirection"].ToString();

            //绑定数据源
            gvProj.DataSource = myDataView;
            gvProj.DataBind();
        }

原创粉丝点击