2010-09-02 85 views
1

如何根據某列對GridView獲取的數據表進行排序。 我想要做這樣的事情,但它不工作。如何在GridView中對asp.net中的數據進行排序

protected void GridView_Sorting(object sender, GridViewSortEventArgs e) 
{ 
    if (sender.GetType() != typeof(GridView)) 
     return; 
    DataTable dt = (DataTable)((GridView)sender).DataSource; 

    DataTable dtClone = dt.Clone(); 


    dt.AsEnumerable().OrderBy(row => row.Field <string>(e.SortExpression)); 
    ((GridView)sender).Source(dtClone); 
} 

回答

1

我已經做了這樣的事情在過去的排序數據表:

DataTable dt = new DataTable(); // your data table 
dt.DefaultView.Sort = "your_field" + "sort_direction"; 
DataView dv = new DataView(dt); 
dv.Sort = ("your_field" + "sort_direction"); 
yourGridView.DataSource = dv; 
1

排序時,請務必將錶轉換爲數據視圖。您將省下大量的時間來手動實施排序方法。

相關問題