因为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,并启用排序就可以了









































