VB.NETのDataViewのサンプルです。
サンプル | DataViewクラス |
DataViewのサンプル |
DataViewクラス
- 並べ替え、フィルター処理、検索、編集等できます。
- 以下は、MicrosoftのDataViewクラスのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.dataview?view=netcore-3.1
DataViewのサンプル
Module Module1
Sub Main()
'テーブル作成
Dim employee As New DataTable("社員テーブル")
employee.Columns.Add("id")
employee.Columns.Add("name")
'1行目を作成
Dim row As DataRow
row = employee.NewRow
row("id") = "1"
row("name") = "suzuki"
employee.Rows.Add(row)
'2行目を作成
row = employee.NewRow
row("id") = "2"
row("name") = "tanaka"
employee.Rows.Add(row)
'3行目を作成
row = employee.NewRow
row("id") = "3"
row("name") = "sato"
employee.Rows.Add(row)
'ビューを作成
Dim view1 As New DataView(employee)
'Dim view1 As DataView = employee.DefaultView
view1.RowFilter = "id >= '2'"
Dim tbl1 As DataTable
tbl1 = view1.ToTable
For Each d As DataRow In tbl1.Rows
Console.WriteLine(d("id").ToString + d("name").ToString)
'2tanaka 3sato
Next
'ビューを作成
Dim view2 As New DataView(employee)
view2.Sort = "name asc"
Dim tbl2 As DataTable
tbl2 = view2.ToTable
For Each d As DataRow In tbl2.Rows
Console.WriteLine(d("id").ToString + d("name").ToString)
'3sato 1suzuki 2tanaka
Next
End Sub
End Module
4行目から、DataTableを作成しています。
9行目から25行目は、DataTableの行を追加しています。
28行目は、DataTableからDataViewを作成しています。
29行目の書き方でもDataViewを作成できます。
31行目は、RowFilterメソッドで条件を指定しています。
34行目のToTableメソッドでDataTalbeに代入しています。
37行目の結果は、31行目でフィルタされた値が表示されます。
42行目は、2つめのDataViewを作成しています。
44行目は、項目のnameで昇順のソートを行っています。
50行目は、44行目で指定したソート順に表示されます。
関連の記事