DataGridView

VB.net(2019)で、DataGridViewを使って測定結果を表示したのでメモ。

表示内容は下記。

フォームに貼り付けたものに列を4列作成し、
1列目 HeaderText: 試験項目    name: koumoku
2列目 HeaderText: 測定ポイント  name: point
3列目 HeaderText: 測定値     name: data
4列目 HeaderText: 単位      name: unit

選択表示(青地の反転)を無効にするためにプロパティのDefaultCellStyle からCellStyleビルダーで

BackColor  LightGray
ForeColor  Black

SelectionBackColor  LightGray
Selection ForeColor  Black

に設定。

コードは、

‘ヘッダー行およびデータ行のフォント
DataGridView1.ColumnHeadersDefaultCellStyle.Font = New Font(“MSゴシック”, 8)
DataGridView1.Font = New Font(“MSゴシック”, 8)

DataGridView1.DefaultCellStyle.BackColor = Color.LightGray ‘背景色

‘行テンプレートの高さ
DataGridView1.RowTemplate.Height = 17
‘行の最低の高さを設定
DataGridView1.RowTemplate.MinimumHeight = 17

‘左端の行ヘッダー不要
DataGridView1.RowHeadersVisible = False

‘データ用各列の幅
DataGridView1.Columns(0).Width = 115
DataGridView1.Columns(1).Width = 130
DataGridView1.Columns(2).Width = 70
DataGridView1.Columns(3).Width = 40

‘ヘッダー行およびデータ行の文字配置 中央振り分け(2行に分かれているが、=以降も1行で書くこと)
DataGridView1.Columns(“koumoku”).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(“koumoku”).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

DataGridView1.Columns(“point”).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(“point”).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

DataGridView1.Columns(“data”).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(“data”).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

DataGridView1.Columns(“unit”).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(“unit”).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

‘セルを編集不可とする
DataGridView1.ReadOnly = True

‘すべての行を削除できないように設定
DataGridView1.AllowUserToDeleteRows = False

‘新しい行の追加を禁止
DataGridView1.AllowUserToAddRows = False

‘以下は6行を表示したとき

DataGridView1.Rows.Add(“電源回路”, “3.3V-1”, “3.28”, “V”)
DataGridView1.Rows.Add(“”, “3.3V-2”, “3.35”, “V”)
DataGridView1.Rows.Add(“”, “5V-1”, “4.98”, “V”)
DataGridView1.Rows.Add(“”, “5V-2”, “5.05”, “V”)
DataGridView1.Rows.Add(“”, “+12V”, “12.1”, “V”)
DataGridView1.Rows.Add(“”, “-12V”, “-12.2”, “V”)

‘特定のセルのみ赤文字 1行目は「0」行として数える

‘↓の場合、1行目の[3.28]が赤表示に

DataGridView1.Rows(0).Cells(2).Style.ForeColor = Color.Red

‘1行すべてを赤文字にするときはこちら

‘DataGridView1.Rows(0).DefaultCellStyle.ForeColor = Color.Red

‘指定行までスクロール(必要に応じて =0は1行目 3行目なら=2)
DataGridView1.FirstDisplayedScrollingRowIndex = 0

 

赤文字の指定は、文字表示(Rows.Add)をした後でないと有効にならない。

確認に使ったのは、Windows 10(32bit) + vb.net (community 2019)