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

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

実行結果

ボタンを押すと、以下のデータをDataGridViewに追加します
3003	福岡 次郎	福岡
4004	埼玉 次郎	埼玉

 

VB.net

Posted by arkgame