C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 98 を表示中)
■58348 / )  DataGridViewCheckBoxの取得
□投稿者/ みっつ (4回)-(2011/03/31(Thu) 12:15:57)

分類:[C#] 

何度もすみません。
Windows XP
Visual studio 2010
C#
で開発しています。

先ほどはありがとうございました。

今度は、OKボタンを押下した際に、
チェックがついている行(Rows)の
データ(NAME)を取得したいです。

DataGridViewは
下記のようになっているとします。

CHECK---NAME
[ON]----AAAA
[ON]----BBBB
[ON]----CCCC
[OFF]---DDDD

CHECK--DataGridViewCheckBoxのName
NAME---DataGridViewTextBoxのName
ON-----チェックボックスTrue
OFF----チェックボックスFalse
だと思ってください。

下記はコーディングです。
DataGridViewCheckBoxのFalseValueには0
DataGridViewCheckBoxのTrueValueには1が登録されています。

private void OK_button_Click(object sender, EventArgs e)
{
for(int i = 0;dataGridView1.Rows.Count > i ;i++)
{
if (dataGridView1.Rows[i].Cells["CHECK"].Value.ToString() == "1")※
{
MessageBox.Show(dataGridView1.Rows[i].Cells["NAME"].Value.ToString());
}
}
}

上記のように記述したところ、
MessageBoxで[AAAA]と[BBBB]は
取得することが出来ました。
ですが、[CCCC]は取得できません。
※の部分でエラーになります。

エラー:
NullReferenceExceptionはユーザーコードによってハンドルされませんでした。
オブジェクト参照がオブジェクト インスタンスに設定されていません。


調べてみると、[CCCC]の時に
dataGridView1.Rows[i].Cells["CHECK"].Value
がnullになっていました。

チェックは間違いなくついているし、
ついていなくても0になると思うのですが・・・
何が原因がわかりますでしょうか?

どう調べたらいいのかもわからず・・・。
NAMEの取得の仕方がすでにおかしいのでしょうか?

よろしくお願いいたします。
返信 編集キー/


管理者用

- Child Tree -