DataGridView事件问题

wch_212 2011-01-29 10:00:02
private void Cdgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex!=0)
{
for (int i = 0; i < 12; i++)
{
Cdgv.Rows[i].Cells[3].Value = (double)Cdgv.Rows[i].Cells[1].Value + (double)Cdgv.Rows[i].Cells[2].Value;
}
}
}

空指针错误。

我这个Cdgv是继承DataGirdView重载了部分方法。
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1,检查Cdgv是否有第1列/第2列/第3列(从0算起),并且这三列的数据类型都为double(或者兼容类型)
2,检查Cdgv是否有0-11行
3,检查0-11行是否有空单元格(或者值为Null, Cells[3]除外)
4,建议将Cdgv.Rows[i].Cells[3].Value改写成其等效形式:Cdgv[3,i]
熙熙 2011-01-29
  • 打赏
  • 举报
回复
你是要实现列变化事件吧,
可以通过列表绑定的数据源对应表的ColumnChanged事件写
你说的这种方法没用过
my_1234 2011-01-29
  • 打赏
  • 举报
回复
不明白要实现什么,帮顶~~
wch_212 2011-01-29
  • 打赏
  • 举报
回复
解决了,用别的事件了。
benyouyong 2011-01-29
  • 打赏
  • 举报
回复
ls正解..当你输入第一个单元格.已经触发事件了..但是第二个单元格就是空..
小D2013 2011-01-29
  • 打赏
  • 举报
回复
(double)Cdgv.Rows[i].Cells[1].Value ,如果单元格没有值,就会报空引用,你应当判断如果没有值,就为0

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧