私は最終的にコードを実行しましたが、誰かがより短く効率的なコードを見つけるのを手伝ってくれれば幸いです。私のコードが添付されていることに感謝します。
Dim table2 As New DataTable() ' datagridview にデータを表示します Dim citem As String ' チェック ボックス リストを読み取って table2 に列を作成します Dim table3 As New DataTable() ' チェック ボックス リストから行の値を取得します
table2.Columns.Add("Risk Factors") ' create a common column between the different datatables (like ID)
For Each citem In Crlist.CheckedItems
table2.Columns.Add(citem)
Next
Dim rfselected As New List(Of String)
Dim cselected As New List(Of String)
Dim tblfiltered As New DataTable()
For Each item In RfLst.CheckedItems
rfselected.Add(String.Format("'{0}'", item))
Next
If rfselected.Count <> 0 Then
Dim rows = atable.Select(String.Format("`Risk Factors` IN ({0})", String.Join(",", rfselected))) 'retrieve the rows from the orginal data called atable
If rows.Length <> 0 Then
table3 = rows.CopyToDataTable
End If
End If
For Each dr As DataRow In table3.Rows
table2.ImportRow(dr)
Next
DataGridView2.DataSource = table2