如何对数据表进行排序?我需要从函数返回一个数据表。我一直在挣扎几个小时,互联网有几个不同的答案,其中没有一个似乎适用于我。如何对数据表进行排序
编辑:我想打我自己。做你的表DataView.Sort,然后DataView.ToTable()把排序的数据到一个新的数据集... 例子:
Dim view As New DataView(OriginalDataSet) 'Put your original dataset into a dataview
view.Sort = "ColumnName" ' Sort your data view
Dim NewDataSet As DataTable = view.ToTable() ' Put your dataview into a new datatable
例如
的最后,我有一个比较简单的下面的示例表格取自教学网站。唯一的问题是我想排序的行中有重复的值。
Module Module1
Sub Main()
' Get a DataTable instance from helper function.
Dim table As DataTable = GetTable()
End Sub
''' <summary>
''' Helper function that creates new DataTable.
''' </summary>
Function GetTable() As DataTable
' Create new DataTable instance.
Dim table As New DataTable
' Create four typed columns in the DataTable.
table.Columns.Add("Dosage", GetType(Integer))
table.Columns.Add("Drug", GetType(String))
table.Columns.Add("Patient", GetType(String))
table.Columns.Add("Date", GetType(DateTime))
' Add five rows with those columns filled in the DataTable.
table.Rows.Add(25, "Indocin", "David", DateTime.Now)
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now)
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now)
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now)
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now)
table.Rows.Add(21, "Aspirin", "Janet", DateTime.Now)
Return table
End Function
End Module
我试图选择到一个数组,然后通过阵列循环,并把每行到一个新的数据表,但选择不敛行。例如:
drarray = ds.Select(“我想选择都在这里”,“MySortColumn”)
我曾尝试过各种循环策略,以内部循环等,并似乎无法找出答案。
我试过dataTable.DefaultView.Sort =“sortExp”,但我无法让它工作。
那么我错过了什么?我认为DefaultView和Select方法我只是在语法上缺少某些东西。
那么最好的方法是什么,我错过了什么?
谢谢。我发现编辑是有帮助的。 – mack