Public Class Form1 Dim myList As New List(Of Test) Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '全てのListの表示 DataGridView1.DataSource = myList End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Extraction("200") End Sub Sub Extraction(Code As String) 'Code=200のレコードのみ表示 DataGridView1.DataSource = "????" End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load myList.Add(New Test With {.Code = "100", .Name = "岡田"}) myList.Add(New Test With {.Code = "200", .Name = "山田"}) myList.Add(New Test With {.Code = "300", .Name = "小林"}) End Sub End Class
Class Test Public Property Code As String Get Return _Code End Get Friend Set(value As String) _Code = value End Set End Property Public Property Name As String Get Return _Name End Get Friend Set(value As String) _Name = value End Set End Property Private _Code As String Private _Name As String End Class
■No33938に返信(だんごさんの記事)
> 前回> Nomalアイコン DataTableにSQLを実行できますか?> └#33897 [作成:07/03(Tue) 20:15]> で、教えて頂いたLINQですが、その後、あまり勉強が進んでいません。
DataTable で実装してみた場合:
Public Class Form1
Private myTable As DataTable
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
myTable = New DataTable()
myTable.Columns.Add("Code", GetType(String))
myTable.Columns.Add("Name", GetType(String))
myTable.Rows.Add("100", "岡田")
myTable.Rows.Add("200", "山田")
myTable.Rows.Add("300", "小林")
BindingSource1.DataSource = myTable
DataGridView1.DataSource = BindingSource1
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
BindingSource1.Filter = ""
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
BindingSource1.Filter = "Code='200'"
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'DataTable を List(Of Test) に変換する例
Dim myList As List(Of Test) = myTable.AsEnumerable().Select(
Function(r) New Test() With {
.Code = r.Field(Of String)("Code"),
.Name = r.Field(Of String)("Name")
}).ToList()
End Sub
End Class
Public Class Test
Public Property Code As String
Public Property Name As String
End Class