VB.NETでDataGridViewの行を追加するサンプル
書式
DataGridView名.Rows.Add(追加行数)
DataGridView名.Rows(最終行の値 – 追加行数).Cells(0).Value = 値
ボタン名 btnAdd
DataGridView名 dataGrdLst
AllowUserToAddRowsの設定
DataGridViewのプロパティにある「AllowUserToAddRows」をFalseに変更します
1. DataGridViewの初期値設定
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'列数3 行数2
dataGrdLst.ColumnCount = 3
dataGrdLst.RowCount = 2
'列名を指定
dataGrdLst.Columns(0).HeaderText = "番号"
dataGrdLst.Columns(1).HeaderText = "名前"
dataGrdLst.Columns(2).HeaderText = "住所"
'1行目 セルのデータを設定
dataGrdLst.Rows(0).Cells(0).Value = 1001
dataGrdLst.Rows(0).Cells(1).Value = "山田 太郎"
dataGrdLst.Rows(0).Cells(2).Value = "東京 "
'2行 セルのデータを設定
dataGrdLst.Rows(1).Cells(0).Value = 2002
dataGrdLst.Rows(1).Cells(1).Value = "テスト 次郎"
dataGrdLst.Rows(1).Cells(2).Value = "大阪 "
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'列数3 行数2
dataGrdLst.ColumnCount = 3
dataGrdLst.RowCount = 2
'列名を指定
dataGrdLst.Columns(0).HeaderText = "番号"
dataGrdLst.Columns(1).HeaderText = "名前"
dataGrdLst.Columns(2).HeaderText = "住所"
'1行目 セルのデータを設定
dataGrdLst.Rows(0).Cells(0).Value = 1001
dataGrdLst.Rows(0).Cells(1).Value = "山田 太郎"
dataGrdLst.Rows(0).Cells(2).Value = "東京 "
'2行 セルのデータを設定
dataGrdLst.Rows(1).Cells(0).Value = 2002
dataGrdLst.Rows(1).Cells(1).Value = "テスト 次郎"
dataGrdLst.Rows(1).Cells(2).Value = "大阪 "
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '列数3 行数2 dataGrdLst.ColumnCount = 3 dataGrdLst.RowCount = 2 '列名を指定 dataGrdLst.Columns(0).HeaderText = "番号" dataGrdLst.Columns(1).HeaderText = "名前" dataGrdLst.Columns(2).HeaderText = "住所" '1行目 セルのデータを設定 dataGrdLst.Rows(0).Cells(0).Value = 1001 dataGrdLst.Rows(0).Cells(1).Value = "山田 太郎" dataGrdLst.Rows(0).Cells(2).Value = "東京 " '2行 セルのデータを設定 dataGrdLst.Rows(1).Cells(0).Value = 2002 dataGrdLst.Rows(1).Cells(1).Value = "テスト 次郎" dataGrdLst.Rows(1).Cells(2).Value = "大阪 " End Sub
2.DataGridViewに2行のデータを追加します
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
'2行追加
dataGrdLst.Rows.Add(2)
'最終行を取得
Dim curNum As Integer
curNum = dataGrdLst.Rows.Count
MsgBox(curNum)
'1行 新データを追加
dataGrdLst.Rows(curNum - 2).Cells(0).Value = 3003
dataGrdLst.Rows(curNum - 2).Cells(1).Value = "福岡 次郎"
dataGrdLst.Rows(curNum - 2).Cells(2).Value = "福岡"
'2行 新データを追加
dataGrdLst.Rows(curNum - 1).Cells(0).Value = 4004
dataGrdLst.Rows(curNum - 1).Cells(1).Value = "埼玉 次郎"
dataGrdLst.Rows(curNum - 1).Cells(2).Value = "埼玉"
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
'2行追加
dataGrdLst.Rows.Add(2)
'最終行を取得
Dim curNum As Integer
curNum = dataGrdLst.Rows.Count
MsgBox(curNum)
'1行 新データを追加
dataGrdLst.Rows(curNum - 2).Cells(0).Value = 3003
dataGrdLst.Rows(curNum - 2).Cells(1).Value = "福岡 次郎"
dataGrdLst.Rows(curNum - 2).Cells(2).Value = "福岡"
'2行 新データを追加
dataGrdLst.Rows(curNum - 1).Cells(0).Value = 4004
dataGrdLst.Rows(curNum - 1).Cells(1).Value = "埼玉 次郎"
dataGrdLst.Rows(curNum - 1).Cells(2).Value = "埼玉"
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click '2行追加 dataGrdLst.Rows.Add(2) '最終行を取得 Dim curNum As Integer curNum = dataGrdLst.Rows.Count MsgBox(curNum) '1行 新データを追加 dataGrdLst.Rows(curNum - 2).Cells(0).Value = 3003 dataGrdLst.Rows(curNum - 2).Cells(1).Value = "福岡 次郎" dataGrdLst.Rows(curNum - 2).Cells(2).Value = "福岡" '2行 新データを追加 dataGrdLst.Rows(curNum - 1).Cells(0).Value = 4004 dataGrdLst.Rows(curNum - 1).Cells(1).Value = "埼玉 次郎" dataGrdLst.Rows(curNum - 1).Cells(2).Value = "埼玉" End Sub
実行結果
ボタンを押すと、以下のデータをDataGridViewに追加します
3003 福岡 次郎 福岡
4004 埼玉 次郎 埼玉
ボタンを押すと、以下のデータをDataGridViewに追加します
3003 福岡 次郎 福岡
4004 埼玉 次郎 埼玉
ボタンを押すと、以下のデータをDataGridViewに追加します 3003 福岡 次郎 福岡 4004 埼玉 次郎 埼玉