様々なデータグリッドビューを作成
データグリッドビュー列をカスタマイズすることによって、様々なデータグリッドビューを作成することができます。
カスタム列を生成・追加するサンプルプログラム
データグリッドビュー列のカスタマイズは、フォームのプロパティによる設定は最小限にし、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