Sorting 如何对数据视图进行排序?

Sorting 如何对数据视图进行排序?,sorting,datatable,dataset,dataview,Sorting,Datatable,Dataset,Dataview,我正在尝试根据需要对数据集进行排序: protected void GridView1_Sorting1(object sender, GridViewSortEventArgs e) { DataSet data = (DataSet)GridView1.DataSource; //sort data by e.SortExpressions //data.Sort that doesn't work //data.Tables[0].Sort that

我正在尝试根据需要对
数据集
进行排序:

protected void GridView1_Sorting1(object sender, GridViewSortEventArgs e)
{
   DataSet data = (DataSet)GridView1.DataSource;

   //sort data by e.SortExpressions

   //data.Sort   that doesn't work
   //data.Tables[0].Sort    that doesn't work
   DataView view = data.Tables[0].DefaultView;
   view.Sort = e.SortExpression;

   GridView1.DataBind();
}
不要尝试对
数据集进行排序
——这是不可能的。相反,只要试着了解真相

…您可以对
数据视图
进行排序,而不是对
数据集中的
数据表
进行排序:

protected void GridView1_Sorting1(object sender, GridViewSortEventArgs e)
{
   DataSet dataSet = (DataSet)GridView1.DataSource;
   DataTable dataTable = (DataTable)dataSet.Tables[0];
   DataView dataView = dataTable.DefaultView;

   dataView.Sort = "TransactionNumber";

   GridView1.DataBind();
}
除了网格没有按照数据*中的
TransactionNumber
列进行排序之外

排序“生效”之前是否需要调用一些
view.RunSort()
方法

额外阅读