VB.NET 明細 DataGridView 使い方

こんにちは、ひろにもです。

今回は、開発によく使う、明細(DataGridView)の様々な機能の使い方について紹介していきます。

SQLServerの値を明細に表示する方法は、別の記事に記載しています。

DataGridView 配置

まずは、DataGridViewをツールボックスから配置してみましょう。

今回の記事は、DataGridViewのIDを【dgvDetail】としています。

DataGridViewに関する基本機能

列の削除

全ての列を削除する。

dgvDetail.Columns.Clear()

 

列の追加

明細の列に、"名前"を追加する。

Dim colName As New DataGridViewTextBoxColumn()
colName.Name = "name"
colName.HeaderText = "名前"
colName.Width = 100

dgvDetail.Columns.Add(colName)

今回は、列の種類をTextBoxにしています。(DataGridViewTextBoxColumn)

TextBox以外にも、チェックボックスなど様々な種類があります。

【各設定】
Name:列の名前
HeaderText:列のヘッダの名前
Width:列の長さ

行の追加

行を追加するには、Rows.Add()を使用します。

dgvDetail.Rows.Add()

 

セルにデータ入力

dgvDetail.Rows(0).Cells("name").Value = "ひろにも"

 

入力不可 ReadOnly

指定した列の入力の可否を設定する方法

dgvDetail.Columns(0).ReadOnly = True

セル単位でも指定することができます。

dgvDetail.Rows(0).Cells(0).ReadOnly = True

 

表示 非表示

非表示:Flase
表示:True

dgvDetail.Columns(1).Visible = False

 

行追加の制御

この制御がTrueになっていると、自然と新しい行が追加されてしまい不便なので、私はFalseにいつもしています。

dgvDetail.AllowUserToAddRows = False

 

DataGridView 背景色

背景色を付ける

dgvDetail.BackColor = Color.WhiteSmoke

 

偶数行に背景色を付ける

dgvDetail.AlternatingRowsDefaultCellStyle.BackColor = Color.Lavender

背景色を"しましま"にすることができます。明細が見やすくなるのでおすすめです。

 

まとめ

最後にサンプルを記載しておきます。

DataGridViewを自由に使いこなせると、できることが増えるので、是非使いこなしましょう。

    Private Sub DataGridView_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        '行削除
        dgvDetail.Columns.Clear()
        '背景色
        dgvDetail.AlternatingRowsDefaultCellStyle.BackColor = Color.Lavender
        dgvDetail.BackColor = Color.WhiteSmoke
        '行制御
        dgvDetail.AllowUserToAddRows = False
        '列設定
        Dim colName As New DataGridViewTextBoxColumn()
        colName.Name = "name"
        colName.HeaderText = "名前"
        colName.Width = 100
        '2列目
        Dim colHeight As New DataGridViewTextBoxColumn()
        colHeight.Name = "height"
        colHeight.HeaderText = "身長"
        colHeight.Width = 100
        '列追加
        dgvDetail.Columns.Add(colName)
        dgvDetail.Columns.Add(colHeight)
        '行追加
        dgvDetail.Rows.Add()
        'セルの値入力
        dgvDetail.Rows(0).Cells("name").Value = "ひろ"
        dgvDetail.Rows(0).Cells("height").Value = "190"
        '2行目追加
        dgvDetail.Rows.Add()
        dgvDetail.Rows(1).Cells("name").Value = "にも"
        dgvDetail.Rows(1).Cells("height").Value = "200"
        '名前列を入力不可に変更
        dgvDetail.Columns(0).ReadOnly = True
    End Sub

結果

 

VB.NETの記事一覧

 

おすすめの記事