使用具有正确数据类型列的linq对数据表进行排序

时间:2012-03-27 16:50:49

标签: asp.net-mvc vb.net linq

你好我有这个代码用于对数据表进行排序。

    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女巫是问题。有没有办法使用正确的类型,所以排序是基于列的类型?

1 个答案:

答案 0 :(得分:2)

Linq摇滚,但有时good old methods更好。你可以做到

dt.Select(string.Empty,dt.Columns[sortingIndex].ColumnName)

使用列的数据类型对DataTable进行排序。