VB.NET DataGridView 行追加する方法 Rows.Add

DataGridViewで行を追加する方法です。

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'ユーザーからのデータ追加を不可にしておく
        DataGridView1.AllowUserToAddRows = False

        '列数設定
        DataGridView1.ColumnCount = 4

        '列名設定
        DataGridView1.Columns(0).HeaderText = "No"
        DataGridView1.Columns(1).HeaderText = "商品名"
        DataGridView1.Columns(2).HeaderText = "製造元"
        DataGridView1.Columns(3).HeaderText = "価格"
    End Sub

    Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
        '1行追加
        DataGridView1.Rows.Add()

        '追加した行番号を取得
        Dim i As Integer
        i = DataGridView1.Rows.Count - 1

        '追加した行に値をセット
        DataGridView1.Rows(i).Cells(0).Value = i + 1
        DataGridView1.Rows(i).Cells(1).Value = "商品A"
        DataGridView1.Rows(i).Cells(2).Value = "製造元B"
        DataGridView1.Rows(i).Cells(3).Value = "1000"

        '追加した行にフォーカスを移す
        DataGridView1.CurrentCell = DataGridView1(0, i)

    End Sub
End Class

まずはじめに、DataGridViewの
AllowUserToAddRowsプロパティを False にしておきます。
こうしておかないと、うまく行追加できません。

FormLoadで列の初期設定をしておきます。

あとは、ボタンクリックで行追加していくようになっています。

行を追加するには、Rows.Addを使います。
(2行追加したい時は、Rowss.Add(2)と指定します。)

新しく追加した行の番号を取得するには、
Rows.Countを使います。

Row.Countは行の総数です。

新しく追加した行の項目にデータをセットする時は、
Rows Cells Value を使って設定します。

DataGridViewの行と列のデータは
0から順番に格納されていますので、注意して下さい。
(1から順番に格納されているワケではない。)

行を追加したあと、
追加した行にフォーカスしたい場合は、
CurrentCell プロパティを使います。

これで行を追加する事ができるようになりました。

タイトルとURLをコピーしました