2011-08-24 17 views
1

在ASP.NET GridView中单击列时如何更改默认的排序方向?单击GridView中的列时,如何更改默认排序方向?

使得点击新列时,默认情况下它,而不是ASC在排序顺序降序我想它。


protected void OnGridViewSorting(object sender, GridViewSortEventArgs e) 
    { 
     DataTable dataTable = RoomsGrid.DataSource as DataTable; 
     if (dataTable != null) 
     { 
      DataView dataView = new DataView(dataTable); 
      dataView.Sort = e.SortExpression + " " +ConvertSortDirectionToSql(e.SortDirection); 

      RoomsGrid.DataSource = dataView; 
      RoomsGrid.DataBind(); 
     } 
    } 

private string ConvertSortDirectionToSql(SortDirection sortDirection) 
{ 
    string newSortDirection = String.Empty; 
    switch (sortDirection) 
    { 
     case SortDirection.Ascending: newSortDirection = "ASC"; break; 
     case SortDirection.Descending: newSortDirection = "DESC"; break; 
    } 
    return newSortDirection; 
} 

下面是它现在的行为的例子: http://www.venuefinder.com/venues/national_motorcycle_museum/V4204/meeting-rooms/

回答

0

你不能改变GridView的默认排序方向,但因为你正在使用一个函数来获取排序方向,你可以做手工如下面的链接中提到 - http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1418

参照上面的代码,你可以做以下来完成你的要求:

private string ConvertSortDirectionToSql(SortDirection sortDirection) 
{ 
    string newSortDirection = String.Empty; 
    switch (sortDirection) 
    { 
     case SortDirection.Ascending: newSortDirection = "DESC"; break; 
     case SortDirection.Descending: newSortDirection = "ASC"; break; 
    } 
    return newSortDirection; 
} 

希望这有助于!

+0

我跟着你的代码,但现在排序方向设置为下降和不会改变。 – asifa

相关问题