投稿者 大池  (社会人) 投稿日時 2012/1/22 21:27:36
いつもお世話になっています。
XPでVB2008を勉強しています。
本中学校でLINQ講座を勉強させていただいています。
DataTableのデータから抽出したものを別のDataTableに保存するために
下記プログラムを以前本掲示板でご指導していただきました。
ここで Private Sub btn抽出ByVB_Click・・・をLINQで実行したく
いろいろ試したのですが、うまくいきません。
厚かましいお願いですがどのように記述すればいいかご指導のほど
よろしくお願いいたします。

     記

  DataSet1 で    id,名前,フリガナ,生誕年,所属 を定義しています。
 
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '(1): データ設定
        Dim dt As DataSet1.DataTable1DataTable = DataSet1.DataTable1
        dt.AddDataTable1Row("001", "勝", "カツ", "1823", "幕府")
        dt.AddDataTable1Row("002", "岩倉", "イワクラ", "1825", "公家")
        dt.AddDataTable1Row("003", "西郷", "サイゴウ", "1828", "薩摩")
        dt.AddDataTable1Row("004", "大久保", "オオクボ", "1830", "薩摩")
        dt.AddDataTable1Row("005", "木戸", "キド", "1833", "長州")
        '
    End Sub

    Private Sub btn抽出ByVB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn抽出ByVB.Click
        '  
        Dim tbl As DataTable = New DataSet1.DataTable1DataTable
        For Each dr As DataSet1.DataTable1Row In DataSet1.DataTable1
            If CType(dr.生誕年, Integer) >= 1830 Then
                'tbl.Rows.Add(dr.id, dr.名前, dr.フリガナ, dr.生誕年, dr.所属)
                tbl.ImportRow(dr)
            End If
        Next
        DataGridView2.DataSource = tbl
    End Sub