因为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,并启用排序就可以了
//********************************************************************************
//处理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中实现排序功能,由于dataset本身不支持排序,因此需要通过DataView进行手动排序。文章提供了具体的代码示例,展示了如何根据用户选择对GridView中的数据进行升序或降序排列。
2431

被折叠的 条评论
为什么被折叠?



