gridview 实现排序

GridView控件提供了用于实现排序功能的接口,通过设置相关属性并实现排序事件的处理程序就可以完成排序功能。
第一步,点击选中GridView控件,设置GridView的AllowSorting属性为True,如下图所示:
gridview 实现排序_第1张图片

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

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

gridview 实现排序_第2张图片


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

gridview 实现排序_第3张图片


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


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

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

gridview 实现排序_第4张图片


第四步:编写排序函数gvProj_Sorting

代码如下:

        ///


        /// 排序
        ///

        ///
        ///
        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();
        }

你可能感兴趣的:(gridview 实现排序)