Skip to content

Visual Basic.NET DataGridViewの小技1

Posted in Visual Basic .NET, プログラム関係, and 技術メモ


開発でサードパーティー製のコントロールが使えれば楽なんだけど、予算の都合上あまりそういうものが使えない状況では既存のコントロールを駆使してなんとかそれらしく見せるように心がけている…。ホントは使えればいいんだけど、使えなかった場合のテクニックを忘れがちな自分のメモとして記する。
表計算・グリッド系のコントロールの代表格では「Grape City」さんの「MultiRow」や「SPREAD」とかがある。
いろんな機能を持っていて商用のレベルを思い知らされる。でも結構お高い。そんな時には既存コントロールの「DataGridView」で頑張る。

■■■ DataGridViewの項目をチェックボックスにする ■■■

‘CheckBoxに設定する
Dim columnCheckBox As New DataGridViewCheckBoxColumn
DataGridView.Columns.Add(columnCheckBox)

‘DataSourceでDataTableを割り当てる場合はDataTableの項目のタイプをBoolean型にすると自動的にCheckBoxになります。

‘データテーブルの定義
Dim tbl as New DataTable
tbl.Columns.Add(New DataColumn(“チェックボックス”,GetType(Boolean))

DataGridView.DataSource = tbl
■■■ DataGridViewのチェックボックスの全行チェックする ■■■
For intI As Integer = 0 To DataGridView.RowCount – 1
‘チェックボックスの列番号or列名を指定してチェックする
DataGridView(columnIndex, intI).Value = True
Next
‘columnIndexの部分に列名を入れるのでも可
■■■ DataGridViewのチェックボックスの全行チェックを外す ■■■
For inrI As Integer = 0 To DataGridView.RowCount – 1
‘チェックボックスの列番号or列名を指定してチェックを外す
DataGridView(columnIndex, intI).Value = False
Next
‘columnIndexの部分に列名を入れるのでも可
■■■ DataGridViewの初期化 ■■■
ついでに初期化の方法。
直接DataGridViewに値をセットする場合とDataSourceでバインドしている時では初期化の方法が異なる。

・直接DataGridViewに値をセットしている場合の初期化
DataGridView.Rows.Clear()

・DataSourceでバインドしている時では初期化
DataGridView.DataSource = Nothing

Be First to Comment

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA