我尝试用以下两种方式对数据表进行排序
table.DefaultView.Sort = "Town ASC, Cutomer ASC"
table.Select("", "Town ASC, Cutomer ASC")
Run Code Online (Sandbox Code Playgroud)
但是他们都没有工作.它始终以原始顺序显示数据.你有任何想法来解决这个问题吗?
Kap*_*wal 33
试试这个:
Dim dataView As New DataView(table)
dataView.Sort = " AutoID DESC, Name DESC"
Dim dataTable AS DataTable = dataView.ToTable()
Run Code Online (Sandbox Code Playgroud)
Ste*_*eve 28
在DefaultView(table.DefaultView.Sort = "Town ASC, Cutomer ASC")上设置sort表达式后,您应该使用DefaultView而不是DataTable实例本身遍历表
foreach(DataRowView r in table.DefaultView)
{
//... here you get the rows in sorted order
Console.WriteLine(r["Town"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
使用DataTable的Select方法,生成一个DataRow数组.此数组按您的请求排序,而不是DataTable
DataRow[] rowList = table.Select("", "Town ASC, Cutomer ASC");
foreach(DataRow r in rowList)
{
Console.WriteLine(r["Town"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
小智 26
这是我可以找到对DataTable进行排序而不必创建任何新变量的最短路径.
DataTable.DefaultView.Sort = "ColumnName ASC"
DataTable = DataTable.DefaultView.ToTable
Run Code Online (Sandbox Code Playgroud)
哪里:
ASC - 升序
DESC - 降序
ColumnName - 要排序的列
DataTable - 要排序的表