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

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

注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。

列(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);

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。