投稿者 氷河  (社会人) 投稿日時 2023/7/10 17:51:10
.C#のNET Framework 4.8を使用しています

質問といたしましては、データグリッドビューのチェックボックスを使用する際の初期値の設定方法がわからず困っています。

現在フォームにBindingSourceを配置し、コードにて以下のように記載し、データを表示しています。
dtはDataTable型の変数でSQLServerから取得したデータが入っています。

                dgvBindingSource = new BindingSource();
                dgvBindingSource.DataSource = dtfusoku;
                dgv.DataSource = dt;

このように表示しているデータグリッドビューの1カラムの1つをチェックボックスに変更したいです。
以下のようにカラムを追加しました。"KANRYO_FLG"というのはchar(1)型のdtに存在するデータです。

            DataGridViewCheckBoxColumn chkColumn = new DataGridViewCheckBoxColumn();
            chkColumn.HeaderText = "完了";
            chkColumn.Width = 60;
            chkColumn.ReadOnly = false;
            chkColumn.Name = "CHECK_FLG";
            chkColumn.DataPropertyName = "CHECK_FLG";
            dgv.Columns.Add(chkColumn);

そして、上記のようにデータをバインドさせたところ、boolean型の有効な値ではありません。というエラーが発生し、質問することに至りました。
"CHECK_FLG"は0か1しか値を取らず、1の時、チェックされた状態で表示するようにしたいと考えております。


DataSourceが使えないので、データグリッドビューにDataTableのデータを場合分けをしてデータグリッドビューに1行1行追加していく必要があるのか、それとも別の方法があるのか教えていただきたいです。
よろしくお願いいたします。