データテーブルをDataGridViewにバインド、表示する方法
DataTableのデータをDataGridViewへバインドし、表示する方法です。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'ユーザーからのデータ追加を不可にしておく
DataGridView1.AllowUserToAddRows = False
'DataTable作成
Dim dt As New DataTable("商品マスタ")
dt.Columns.Add("No")
dt.Columns.Add("商品名")
dt.Columns.Add("製造元")
dt.Columns.Add("価格")
'行データ
Dim dtRow As DataRow
'1行目
dtRow = dt.NewRow
dtRow("No") = "1"
dtRow("商品名") = "商品A"
dtRow("製造元") = "製造元A"
dtRow("価格") = "1000"
dt.Rows.Add(dtRow)
'2行目
dtRow = dt.NewRow
dtRow("No") = "2"
dtRow("商品名") = "商品B"
dtRow("製造元") = "製造元B"
dtRow("価格") = "3000"
dt.Rows.Add(dtRow)
DataGridView1.DataSource = dt
End Sub
End Class
データテーブルを作成した後、
DataGridView.Datasourceにデータテーブルを指定してやればOKです。
これでDataGridViewの中にデータテーブルが表示されます。
とても簡単ですね。
上記のように表示された後、
DataGridView.Datasourceに違うデータテーブルを指定すれば、
今表示されているデータテーブルのデータが無くなり、
新しく指定されたデータテーブルが表示されます。
データテーブルのバインドを解除する方法
DataGridView.Datasourceにデータテーブルをバインドしている場合の
バインドの解除方法は、
DataGridView.Datasource = Nothing と書きます。
こうする事で、DataGridViewの表示がクリアされ、
バインドが解除されます。
DataGridView.Datasourceにデータテーブルをバインドしている場合に
DataGridView.Rows.Clear()と書いたり、
DataGridView.Columns.Clear()と書くと、
予期しないエラーが発生する恐れがあるようです。