2012-03-27 14 views
0

こんにちはデータテーブルをソートするために使用するこのコードがあります。列の正しいデータ型で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) 

私の問題は、それが機能するために文字列の魔女が問題であるとして、日付列も管理されているように、この方法で私はいつも、(列の)必要があるということです。正しいタイプを使用する方法があるので、ソートはカラムのタイプに基づいていますか?

答えて

2

Linq岩ですが、時にはgood old methodsが優れています。できます

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

列のデータ型を使用してDataTableを並べ替えます。

+0

ご回答いただきありがとうございますが、これを埋め込む方法がわかりません。私の前のコードに基づいていますか? – themis

+0

'var DataTableNew = dt.Select(string.Empty ...')は –

+0

とする必要があります。降順または昇順のソートが必要な場合はどうすればいいですか? – themis

関連する問題