データテーブルをソートするにはどうすればよいですか? 関数からデータテーブルを返す必要があります。私はこれに何時間も苦労してきました.インターネットにはいくつかの異なる答えがありますが、どれもうまくいかないようです.
編集:自分を殴りたいです。テーブルで 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
例の終わり
教育ウェブサイトから取った、比較的単純な例の表を以下に示します。1 つのひねりは、並べ替えようとしている行に重複する値があることです。
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 メソッドを使用すると、構文的に何かが欠けているだけだと思います。
では、何が最善の方法であり、何が欠けているのでしょうか?