注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。
列(DataColumn)で指定されているデータ型がBoolean型(bool型)のとき、その列にはチェックボックスが表示されます。
'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)
//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を使うようにします。
DataGridBoolColumn.AllowNullをFalseにすることにより、チェックボックスがOnかOffかの状態だけにすることができるようになります。
以下にチェックボックスがOnかOffかだけの列を作成するコードを示します。なお、テーブルスタイルの説明は省かれています。分からないという方はこちらをご覧ください。
'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)
//DataGridTableStyleの作成 DataGridTableStyle ts = new DataGridTableStyle(); //"Column1"がBoolean型のデータ DataGridBoolColumn cs; cs = new DataGridBoolColumn(); cs.MappingName = "Column1"; //チェックボックスがOnかOffだけにする cs.AllowNull = false; //列をテーブルスタイルに追加する ts.GridColumnStyles.Add(cs);
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。