DataRow配列をソートする方法。
年に1本はプログラムっぽいことを書かないと。
あっ、去年書いてなくね?
まぁいいや。
タイトルの通り、DataRow配列をソートする方法について。
DaraRow配列を使うときって、DataTableから結果をSelectした時くらいなんだけど、キーを変えて再ソートしたい時があったので、こんな方法を考えてみた。
Private Function SortDataRow(ByVal drOriginal as DataRow(), _ByVal strSortKey as String) As DataRow() Dim drSort() As DataRow = Nothing Dim dtSortTemp As DataTable = Nothing '元のDataRow配列の親DataTableと同じ構造のDataTableを作る dtSortTemp = drOriginal(0).Table.Clone 'クローンに元のDataRow配列をImportする For Each drImport As DataRow In drOriginal dtSortTemp.ImportRow(drImport) Next 'DataTable.Selectメソッドを使って、フィルターなしでソートをする drSort = dtSortTemp.Select("", strSortKey) Return drSort End Function
.Net Frameworks1.1で確認。古くてすいませんw
ソートしたいDataRow配列とソートキーを渡してやるだけでソートされます。エラー処理とかは好きに入れましょう。
DaraRow内のItemを使って配列のソートメソッドって使えるんですかね?
あぁ、それとDBからデータを持ってくる時は、当然ソートしてから持ってきましょうね。
DBでできることはDBにやらせるのが一番ですから。