Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ADO.NET DataTable排序不反映在包含的数据集中_C#_.net_Datatable_Ado.net_Dataset - Fatal编程技术网

C# ADO.NET DataTable排序不反映在包含的数据集中

C# ADO.NET DataTable排序不反映在包含的数据集中,c#,.net,datatable,ado.net,dataset,C#,.net,Datatable,Ado.net,Dataset,我想在数据集中对数据表进行排序。我有以下代码: DataTable dt = ds.Tables[0]; dt.TableName = "NEWNAME"; dt.DefaultView.ApplyDefaultSort = false; dt.DefaultView.Sort = "COL1 desc"; dt = dt.DefaultView.ToTable(); dt.AcceptChanges(); // <-- Break Point He

我想在数据集中对数据表进行排序。我有以下代码:

DataTable dt = ds.Tables[0];
dt.TableName = "NEWNAME";
dt.DefaultView.ApplyDefaultSort = false;
dt.DefaultView.Sort = "COL1 desc";
dt = dt.DefaultView.ToTable();
dt.AcceptChanges(); // <-- Break Point Here
ds.AcceptChanges();
DataTable dt=ds.Tables[0];
dt.TableName=“NEWNAME”;
dt.DefaultView.ApplyDefaultSort=false;
dt.DefaultView.Sort=“COL1 desc”;
dt=dt.DefaultView.ToTable();

dt.AcceptChanges();// 排序不会对任何内容进行排序。它只是一个字符串,当您需要像在行中一样构造一个新表时将使用它

dt = dt.DefaultView.ToTable();
在此之后,dt引用(使用从DefaultView.Sort获取的信息正确排序)不再指向ds.Tables[0]。这是一个全新的数据表

应用DefaultView.Sort的另一种方式是在DefaultView中循环,如中所示

foreach(DataViewRow dvr in ds.Tables[0].DefaultView)
{
     // Here you get a row from the table sorted according to the property.
     DataRow row = dvr.Row;
     .....
}