因为dataset不支持排序,所以将dataset绑定到GridView上以后不能使用GridView的 排序功能,要排序需要手动实现GridView的Sorting事件,通过DataView的排序功能来对GridView进行排序,下面是一个例子 //******************************************************************************** //处理GridView的排序事件 protected void grv_Messenge_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"); } } //******************************************************************************* /**//* * 函数名:SortGridView,即对GridView进行排序 * 创建时间:2007年11月7日 * 功能描述:自定义GridView的排序方法,通过DataView中的排序方法对GridView的数据进行排序 * 输入参数:用于排序的关联表达式,排序的方向(升序或降序) * 使用示例:SortGridView( sortExpression, "DESC") * 返回值说明:无返回值 */ private void SortGridView(string sortExpression, string direction) ...{ DataSet ds = GetData(); //查找数据源 DataTable dt = ds.Tables[0]; DataView dv = new DataView(dt); dv.Sort = sortExpression + direction; grv_Messenge.DataSource = dv; //将DataView绑定到GridView上 grv_Messenge.DataBind(); } 在GridView里面将要排序的列设置好SortExpression,并启用排序就可以了 转载于:https://www.cnblogs.com/lin614/archive/2008/01/08/1030637.html