标题:[求助]DataGridView列类型为CheckBox的问题
只看楼主
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
 问题点数:0 回复次数:16 
[求助]DataGridView列类型为CheckBox的问题



如图,在Form5的load里用代码控制一个DataTable dt,使其默认生成十个空行,然后,DataGridView1.DataSource = dt;在DataGridView1里,手动添加一个列,类型为DataGridViewCheckBoxColumn..就是复选框类型的...另外加一个Button1,单击Button1,
for(int i = 0;i<10;i++)
{
MessageBox.Show(DataGridView1[0,i].Value.ToString();
}
出现的问题是:如果有一个没有点过,就会报错:未将对象引用设置到对象的实例!
但是如果全部单击后,就不会出现任何错误!
谁能告诉偶,Why?
着急啊..头发抓得都快成秃顶啦!!!
大虾救命啊!!!
搜索更多相关主题的帖子: CheckBox DataGridView 类型 
2007-09-22 19:14
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
得分:0 
加一个判断
if (dataGridView1[0, i].Value != null)
{
MessageBox.Show(DataGridView1[0,i].Value.ToString());
}

------------------不为别的,就为你,我的理想!-----------------
2007-09-22 20:16
china25qd
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2007-9-6
得分:0 
没有把空列考虑进去,因为DataGridView是一个DB控件,联系到数据库,是否允许"空"是很重要的哦!

抱膝怀天下 闲坐观四海
2007-09-22 21:36
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
To:二楼,你这个和原来的问题一样,同样会出现未将对象引用设置到对象的实例!因为输出值和判断是否为空的前提是一样的,就是得将对象引用设置到对象的实例!!!
TO:三楼,你说的似乎很有道理,但是我还是没有听得太明白,能否详细告知?
谢谢两位!!!

msdn == 葵花宝典!!!
QQ:122768959
2007-09-24 09:19
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
得分:0 
把dt綁定那列初始化為FALSE行不

すばらしいコードを書き出すのは楽しい事です
2007-09-24 10:47
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
你添加的空行,用DataGridView1[0,i].Value.ToString() ???

飘过~~
2007-09-24 11:10
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
bygg...版主...给支个招呗!!!

msdn == 葵花宝典!!!
QQ:122768959
2007-09-24 12:38
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
得分:0 

沒有點擊的話value是null。tostring()肯定會出現NullReferenceException。
給這個value設定一個初始值應該就可以了。


すばらしいコードを書き出すのは楽しい事です
2007-09-24 13:39
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
得分:0 
那么?怎么在初始的时候给个值呢?...

msdn == 葵花宝典!!!
QQ:122768959
2007-09-24 14:50
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
得分:0 
DataSet1.DataTable1DataTable dt = new DataSet1.DataTable1DataTable();
for (int i = 0; i < 10; i++) { dt.AddDataTable1Row(false); }
dt.AcceptChanges();
dataGridView1.DataSource = dt;
DataTable1 有一個布爾型字段 把它初始化為false 然後綁定。

すばらしいコードを書き出すのは楽しい事です
2007-09-24 15:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-172137-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114690 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved