你好我有这个代码用于对数据表进行排序。
Dim sortingIndex As Integer = orderby
Dim DataTableNew As DataTable = New DataTable
DataTableNew = dt.Clone
Dim query = (From c In dt.AsEnumerable Order By c.Field(Of String)(sortingIndex) Ascending)
query.CopyToDataTable(DataTableNew, LoadOption.OverwriteChanges)
我的问题是,使用这种方法我总是需要(Of String)才能使它工作,所以日期列也被管理为Strings女巫是问题。有没有办法使用正确的类型,所以排序是基于列的类型?
答案 0 :(得分:2)
Linq摇滚,但有时good old methods更好。你可以做到
dt.Select(string.Empty,dt.Columns[sortingIndex].ColumnName)
使用列的数据类型对DataTable进行排序。