今回はVB.NETのDataGridViewの特例の列の表示・非表示を制御する方法を3つ解説します。
DataGridViewのDataSourceを設定すると余計な列が表示されてしまうことがありますがその対応も可能です。
参考:【VB.NET】DataGridViewの値を取得する方法を5つ解説!
参考:【VB.NET】DataGridViewのカラム表示を切り替える方法を解説!
DataGridViewの列の表示/非表示の変更
デフォルトなので特に指定する必要はありません。
DateTimePicker1.Valueに表示したい日付型の値を代入することで利用可能です。
1 2 3 4 5 6 7 8 |
' 「生年月日」列を表示する。 DataGridView表.Columns("生年月日").Visible = True '列名で指定 DataGridView表.Columns(3).Visible = True 'カラムのインデックスで指定 ' 「生年月日」列を非表示する。 DataGridView表.Columns("生年月日").Visible = False '列名で指定 DataGridView表.Columns(3).Visible = False 'カラムのインデックスで指定 |
DataGridViewの列の削除
特定の列を削除したい場合は、RemoveメソッドとRemoveAtを利用できます。
Removeメソッドは、DataGridViewColumn型を引数に、RemoveAtメソッドは、Integer型を引数に持ちます。
1 2 3 4 |
' 「生年月日」列を非表示する。 DataGridView表.Columns.Remove(DataGridView表.Columns("生年月日")) '列名で指定 DataGridView表.Columns.RemoveAt(3) 'カラムのインデックスで指定 |
DataSourceの列を制御する
SQLなどから取得したデータには、表示したくない列が含まれている場合があります。
そのようなデータから特定の列を非表示にする方法です。(Microsoftの参考ページ)
1 2 3 4 5 6 7 8 9 |
' DataTableのデータから非表示にする列を指定 Dim unVisibleCol As String() = {"col1", "col2"} ' DataにはSQLの結果などを入れる想定 Dim Data = New DataTable ' DataGridViewに特定の列のみを表示する。 DataGridView表.DataSource = Data.DefaultView.ToTable(False, unVisibleCol) |
まとめ
今回はVB.NETのDataGridViewの特例の列の表示・非表示を制御する方法を3つ解説しました。
本記事が少しでも参考になれば幸いです。
参考:【VB.NET】DataGridViewの値を取得する方法を5つ解説!
参考:【VB.NET】DataGridViewのカラム表示を切り替える方法を解説!
リンク