DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DOBON.NET

DataGridにチェックボックスを表示する

列(DataColumn)で指定されているデータ型がBoolean型(bool型)のとき、その列にはチェックボックスが表示されます。

[VB.NET]
'DataTableオブジェクトの作成
Dim dt As DataTable
dt = New DataTable("DataTable1")
'DataColumnの作成
Dim dc As DataColumn
dc = New DataColumn("Column1", GetType(Boolean))
'DataTableへ追加
dt.Columns.Add(dc)
[C#]
//DataTableオブジェクトの作成
DataTable dt;
dt = new DataTable("DataTable1");
//DataColumnの作成
DataColumn dc;
dc = new DataColumn("Column1", typeof(bool));
//DataTableへ追加
dt.Columns.Add(dc);

テーブルスタイルを設定したとき、Boolean型データの列にDataGridTextBoxColumnを使うとチェックボックスは表示されず、文字列(TrueやFalse)が表示されます。チェックボックスを表示するにはDataGridTextBoxColumnの代わりにDataGridBoolColumnを使うようにします。

チェックボックスがOnかOffかの状態だけにする

DataGridBoolColumn.AllowNullをFalseにすることにより、チェックボックスがOnかOffかの状態だけにすることができるようになります。

以下にチェックボックスがOnかOffかだけの列を作成するコードを示します。なお、テーブルスタイルの説明は省かれています。分からないという方はこちらをご覧ください。

[VB.NET]
'DataGridTableStyleの作成
Dim ts As New DataGridTableStyle()

'"Column1"がBoolean型のデータ
Dim cs As DataGridBoolColumn
cs = New DataGridBoolColumn()
cs.MappingName = "Column1"
'チェックボックスがOnかOffだけにする
cs.AllowNull = False
'列をテーブルスタイルに追加する
ts.GridColumnStyles.Add(cs)
[C#]
//DataGridTableStyleの作成
DataGridTableStyle ts = new DataGridTableStyle();

//"Column1"がBoolean型のデータ
DataGridBoolColumn cs;
cs = new DataGridBoolColumn();
cs.MappingName = "Column1";
//チェックボックスがOnかOffだけにする
cs.AllowNull = false;
//列をテーブルスタイルに追加する
ts.GridColumnStyles.Add(cs);