因为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,并启用排序就可以了
本文作者:不详 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow