DataGridViewの小技4
前回の続き「DataGridView」で頑張っているテクニック集
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
★フォントの変更
プロパティウィンドウに「FONT」のプロパティがない
DataGridView.Font = New Font([設定したいフォント名] , [サイズ])
フォントサイズを変更したら、DataGridViewの行高さを変更しないと文字が切れちゃうので調整。
大体はAutoSizeRowsModeプロパティで
DataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
として自動調整が楽チン。
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
★データソースで取得したデータとは違うカラム名を設定したい
データソースでデータバインドした場合はカラム名がそのデータソースで取得したカラム名のまま項目になってしまいます。
データベースで設定したカラムが記号や英字表記の場合はDataGridViewのカラム名までそのまま表示されるのは塩梅がよくない場合が多いです。
そんな時はカラム別名で定義してDataPropertyNameプロパティでDataSourceのカラムと結びつけると実現できます。
例:
'データベースからデータを取得するSQL
SELECT ItemCode,ItemName1,ItemName2,JANCode1,PutCount FROM Item_Master
このSQLで取得されたデータを[tblDataSet]
'データをセット
DataGridView.DataSource = tblDataSet
DataGridView.Columns("商品コード").DataPropertyName = "ItemCode"
※この別名を使用すると並びがおかしくなる場合があります。そんな時はDisplayIndexプロパティで並び順を整理すると便利です。
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
★データソースで取得したデータの中で表示させたいカラム
データソースでデータバインドした場合はそのままだとカラムが全部見えてしまいます。
そんな時は一旦全部のカラムを非表示(Visible)にして表示するカラムを指定して整形すると便利です。
例:
'データベースからデータを取得するSQL
SELECT ItemCode,ItemName1,ItemName2,JANCode1,PutCount FROM Item_Master
このSQLで取得されたデータを[tblDataSet]
With me.DataGridView
'データをセット
.DataSource = tblDataSet
'各カラムのソートモードを無効にする
For intI = 0 To .ColumnCount - 1
.Columns(intI).SortMode = DataGridViewColumnSortMode.NotSortable
.Columns(intI).Visible = False
Next
'カラムを有効にする
.Columns("商品コード").Visible = True
'カラムの幅を120にする
.Columns("商品コード").Width = 120
'カラムを別名にする
.Columns("商品コード").DataPropertyName = "ItemCode"
'カラムの表示順を4にする
.Columns("商品コード").DisplayIndex = 4
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□