林子之大.net笔记

本站多数文章由其它网址转载,没啥技术含量的皆为原创。主要目的是对付记性不好,方便查询。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
因为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,并启用排序就可以了
posted on 2008-01-08 16:39  林614  阅读(9241)  评论(0)    收藏  举报