システム開発備忘録 Visual Basic DataGridView関連

データグリッドビュー(DataGridView)
'データグリッドビューのセル背景をフォームと同じにする
Datagridview1.DefaultCellStyle.BackColor = Form1.BackColor
'データグリッドビューの特定行のセル背景色を変更する
For I = 0 To Form1.DataGridView1.Rows.Count – 1
If Trim(Form1.DataGridView1.Rows(I).Cells("ColName").Value.ToString)= strVakue Then
For J = 0 To Form1.DataGridView1.Columns.Count - 1
Me.DataGridView1.Rows(I).Cells(J).Style.BackColor = Color.LightGray
Next
End If
Next
DataGridView 列の操作
'列の非表示
Form1.DataGridView1.Columns(0).Visible = False
'列の書式設定
DataGridView1.Columns("ColDate").DefaultCellStyle.Format = "yyyy/MM/dd"
DataGridView1.Columns("ColNumber").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
'データグリッドビューの列幅自動調整
For Each objCol As DataGridViewColumn In DataGridView1.Columns
objCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
Next
'データグリッドビューのセルを入力不可とする
For I As Integer = 0 To Me.DataGridView1.Columns.Count - 1
Form1.DataGridView1.Columns(I).ReadOnly = True
Next
'データグリッドビューの並べ替え機能を使えなくする
For Each objCol As DataGridViewColumn In DataGridView1.Columns
objCol.SortMode = DataGridViewColumnSortMode.Programmatic
Next
チェックボックス列を作成する
'単純にデータグリッドビューの最後にチェックボックス列を追加する
With DataGridView1
Dim objCol As New DataGridViewCheckBoxColumn
objCol.Name = "CHECK_COL"
.Columns.Add(objCol)
End With
'列番号10にCheckBox列を追加する
With DataGridView1
Dim objCol As New DataGridViewCheckBoxColumn
objCol.Name = "CHECK_COL"
.Columns.Insert(10, objCheckCol)
End With
'”Col_A”という名前の列の前にCheckBox列を追加する
With DataGridView1
Dim objCol As New DataGridViewCheckBoxColumn
objCol.Name = "CHECK_COL"
.Columns.Insert(.Columns("Col_A").Index, objCheckCol)
End With
DataGridView データソースの設定
'データグリッドビューにデータテーブルをそのまま表示
Form1.DataGridView1.DataSource = objDT
Form1.DataGridView1.Refresh()
DataGridView データソースの設定
グリッドにデータテーブルから一部の列を抜き出した形で表示
Dim objDT As New DataTable
Dim objDTV As New DataTable
'データグリッドビュー表示用データテーブルの作成
Dim strCols As String() = {"COL1", "COL3", "COL5"}
objDTV = New DataView(objDT).ToTable("NewTable", False, strCols)
'データグリッドビューに表示する
DataGridView1.DataSource = objDTV
DataGridView 列の操作2
DataGridViewにコンボボックス列を追加する
後からコンボボックス列を追加するようにすると、
事前にグリッド側の列を定義する必要がないのですこしだけラクである。
With form1.DataGridView1
'グリッドにデータテーブル(DTにデータが入っているとすうる)を表示
.DataSource = DT
'コンボボックス列の作成
Dim objCboCol As New DataGridViewComboBoxColumn()
'結果区分
objCboCol = New DataGridViewComboBoxColumn()
'"CBO_DATA"列にバインドされているデータを表示する
objCboCol.DataPropertyName = "CBO_DATA"
'ここでコンボのリスト設定するが記述は省略
'→フォームコントロールのページのコンボボックスあたりが参考になる。
このページのF_SetComboListFromArray関数は、引数の型を
ComboBoxからDataGridViewComboBoxColumnに変更して簡単に作り替えられる
'UKTK_KBN列をComboBox列に置き換える
.Columns.Insert(.Columns("CBO_DATA").Index, objCboCol)
.Columns.Remove("CBO_DATA")
objCboCol.Name = "CBO_DATA"
End With
|