' dtsort.vb Imports System Imports System.Data Public Class DataTableSort Shared Sub ShowTable(dt As DataTable) Console.WriteLine("--------------------") For Each dr As DataRow In dt.Rows Dim s1 As String = dr("date").ToString().Substring(0, 10) Dim s2 As String = dr("title").ToString() Console.WriteLine("{0} {1}", s1, s2) Next Console.WriteLine("--------------------") Console.WriteLine() End Sub Shared Sub Main() ' @ITのRSS情報からデータテーブルを作成 Dim ds As DataSet = New DataSet() ds.ReadXml("http://www.atmarkit.co.jp/rss/fdotnet/rss2dc.xml") Dim dt As DataTable = ds.Tables("item") ShowTable(dt) ' 出力例: ' -------------------- ' 2005-10-12 可変性を管理したモデル駆動型開発の例 ' 2005-10-08 ASP.NETで実践するO/Rマッピング(iBATIS.NET編) ' 2005-10-07 .NET TIPS - .NET開発のテクニックとヒント集 - ' …… ' 2005-09-14 複雑なオブジェクトでもすぐに中身が見えるデータヒント ' 2005-09-10 新グリッド・コントロールの豊富な機能と高い表現力 ' 2005-09-09 .NET TIPS - .NET開発のテクニックとヒント集 - ' -------------------- ' データテーブルのコピーを作成 Dim dt2 As DataTable = dt.Clone() ShowTable(dt2) ' 行がないことを確認 ' 出力例: ' -------------------- ' -------------------- ' ソートされたデータビューの作成 Dim dv As DataView = New DataView(dt) dv.Sort = "date" ' ソートされたレコードのコピー For Each drv As DataRowView in dv dt2.ImportRow(drv.Row) Next ShowTable(dt2) ' 出力例: ' -------------------- ' 2005-09-09 .NET TIPS - .NET開発のテクニックとヒント集 - ' 2005-09-10 新グリッド・コントロールの豊富な機能と高い表現力 ' 2005-09-14 複雑なオブジェクトでもすぐに中身が見えるデータヒント ' …… ' 2005-10-07 .NET TIPS - .NET開発のテクニックとヒント集 - ' 2005-10-08 ASP.NETで実践するO/Rマッピング(iBATIS.NET編) ' 2005-10-12 可変性を管理したモデル駆動型開発の例 ' -------------------- End Sub End Class ' コンパイル方法:vbc /r:System.Data.dll /r:System.dll /r:System.Xml.dll dtsort.vb