様々なデータグリッドビューを作成
データグリッドビュー列をカスタマイズすることによって、様々なデータグリッドビューを作成することができます。
カスタム列を生成・追加するサンプルプログラム
データグリッドビュー列のカスタマイズは、フォームのプロパティによる設定は最小限にし、Subプロシージャを作成して、フォームロードから呼び出して、カスタマイズします。

まず、列を自動生成しないようにし、列幅は自動調整に設定します。そして、表示する列数分だけカスタム列を生成し、次のように各列をカスタマイズします。
- 【表示するデータの設定】データソースにバインドする明細リストのプロパティをセット
- 列タイトルを設定
- 【数値データの書式設定】3桁カンマの右寄せにするために、カスタム数式書式を設定
作成した列をデータグリッドビューに追加します。
最後に、バインディングソース(BindingSource)を使って、明細行リストと連結します。
ソースリストの枠内をクリックすると全選択できます。
'*******************************************************
' 受注明細データグリッドビュー初期化
'*******************************************************
Sub InitialDgvMeisai()
Try
'--- <<データグリッドビューDgvOrderの列スタイル >>---
' 列を自動生成しない
DgvMeisai.AutoGenerateColumns = False
' 列幅を自動調整
DgvMeisai.AutoSizeColumnsMode = _
DataGridViewAutoSizeColumnsMode.AllCells
' テキストボックス列の生成
Dim textColumn(4) As DataGridViewTextBoxColumn
' 【商品コード】列を作成する
textColumn(0) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(0).DataPropertyName = "ShohinCode"
' DataGridViewのヘッダータイトル設定
textColumn(0).HeaderText = "商品コード"
' 【商品名】列を作成する
textColumn(1) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(1).DataPropertyName = "ShohinMeisho"
' DataGridViewのヘッダータイトル設定
textColumn(1).HeaderText = "商品名"
' 【受注数量】列を作成する
textColumn(2) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(2).DataPropertyName = "JuchuSuryo"
' DataGridViewのヘッダータイトル設定
textColumn(2).HeaderText = "数量"
' DataGridViewセルの文字列右詰め設定
textColumn(2).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
' 【受注単価】列を作成する
textColumn(3) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(3).DataPropertyName = "JuchuTanka"
' DataGridViewのヘッダータイトル設定
textColumn(3).HeaderText = "単価"
' DataGridViewセルの文字列右詰め設定
textColumn(3).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
' DataGridViewセルの書式設定
textColumn(3).DefaultCellStyle.Format = "#,##0"
' 【受注金額】列を作成する
textColumn(4) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(4).DataPropertyName = "JuchuKingaku"
' DataGridViewのヘッダータイトル設定
textColumn(4).HeaderText = "金額"
' DataGridViewセルの文字列右詰め設定
textColumn(4).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
' DataGridViewセルの書式設定
textColumn(4).DefaultCellStyle.Format = "#,##0"
' 生成列を追加する
DgvMeisai.Columns.AddRange(textColumn)
' BindingSource:データ連結設定
bindingSrc.DataSource = meisaiList
DgvMeisai.DataSource = bindingSrc
Catch ex As Exception
' 例外が発生した時の処理
MessageBox.Show(ex.ToString, "FormLoadで例外発生")
End Try
End Sub