■58351 / ) |
Re[2]: DataGridViewCheckBoxの取得 |
□投稿者/ みっつ (5回)-(2011/03/31(Thu) 13:13:54)
|
■No58350 (プシケ さん) に返信 > 2011/03/31(Thu) 13:08:18 編集(投稿者) > > ■No58348 (みっつ さん) に返信 > まず、グリッドの行を追加する場合、明示的に0か1をセットした方がよいです。 > そうでなければ、nullのケースを考慮した方がよいです。 > しかし、このことがこの問題の本質ではありません。 > おそらく最後にチェックしたセルのチェックがValueに反映されていないということでしょうか。 > (試しに、最後にチェックするセルを変えてみると、その箇所のチェックがValueに反映されていないのでは > ないでしょうか?) > 例えば、セルを移動したりするとチェックした内容が反映さると思いますので、これを試してみてください。 > こうすることによってチェックがセルのValueに反映されるようであれば、チェックした時点でセルのValueを > 更新(コミット)するようにすればよいです。 > 以下のサイトのCurrentCellDirtyStateChangedイベントの記述を参考にするとよいでしょう。 > > http://dobon.net/vb/dotnet/datagridview/datagridviewcheckboxcolumn.html > 「チェックボックスにチェックが付けられた(あるいはチェックが外された)ことを知る」を参照のこと。
ありがとうございます。
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dataGridView1.CurrentCellAddress.X == 0 && dataGridView1.IsCurrentCellDirty) { //コミットする dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); } } このようにやってみました。 これで[CCCC]までは取得できました。 その後、 if (dataGridView1.Rows[i].Cells["CHECK"].Value.ToString() == "1")※ ここで、[DDDD]のCheckBoxを取得しようとしたら 同様のNullエラーになりました。
何がいけないのでしょうか・・・ よろしくお願いいたします。
|
|