Gridview中按字段排序

    技术2022-05-20  51

    首先对gridview的AllowSorting 属性值改为True;

    然后对需要排序的字段的SortExpression 属性 加上该字段的名字;

    接着添加gridview的Sorting方法,如下;

    最后写1个方法SortGridView(设置排序的字段和排序方式)和

    构造函数GridViewSortDirection(获取当前的排序方式)

     

     protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { string sortExpression = e.SortExpression.ToString(); if (GridViewSortDirection == SortDirection.Ascending)//获取当前的排序方式 { GridViewSortDirection = SortDirection.Descending; SortGridView(sortExpression,"DESC"); } else { GridViewSortDirection = SortDirection.Ascending; SortGridView(sortExpression, "ASC"); } } //******************************************************************************* /* * 函数名:SortGridView,即对GridView进行排序 * 创建时间:2007年11月7日 * 功能描述:自定义GridView的排序方法,通过DataView中的排序方法对GridView的数据进行排序 * 输入参数:用于排序的关联表达式,排序的方向(升序或降序) * 使用示例:SortGridView( sortExpression, "DESC") * 返回值说明:无返回值 */ public void SortGridView(string sortExpression, string direction) { DataSet ds = bindData(); DataTable dt = ds.Tables[0]; DataView dv = new DataView(dt); dv.Sort = sortExpression + “ ” + direction;//设置dataview排序字段及方式 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; } }


    最新回复(0)