/// <summary>
    /// 取得排序方式(正向\反向)
    /// </summary>
    public SortDirection GridViewSortDirection
    {
        get
        {
            if (ViewState["sortDirection"] == null)
                ViewState["sortDirection"] = SortDirection.Ascending;
            return (SortDirection)ViewState["sortDirection"];
        }
        set { ViewState["sortDirection"] = value; }
    }
 
    /// <summary>
    /// 排序
    /// </summary>
    /// <param name="sortExpression">列头</param>
    /// <param name="direction">方向</param>
    private void SortGridView(string sortExpression, string direction)
    {
        // You can cache the DataTable for improving performance
        DataView dv = (DataView)CreateDataSource();
        dv.Sort = sortExpression + direction;
        GridView1.DataSource = dv;
        GridView1.DataBind();
    }
 
    protected void dataGridView1_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");
        }
    }
 
/// <summary>
    /// 创建GridView的数据
    /// </summary>
ICollection CreateDataSource()
   {
    DataTable dt = new DataTable();
    DataRow dr;
    dt.Columns.Add(new DataColumn("id", typeof(Int32)));
    dt.Columns.Add(new DataColumn("text", typeof(string)));
    for (int i = 0; i < 6; i++)
     {
      dr = dt.NewRow();
      dr[0] = i;
      dr[1] = "列表项目 " + i.ToString();
      dt.Rows.Add(dr);
    }
    DataView dv = new DataView(dt);
    return d
}
posted on 2008-03-17 22:21  zxynet(海洋之星)  阅读(1258)  评论(0编辑  收藏  举报