private void dataGridView2_CellLeave(object sender, DataGridViewCellEventArgs e)
{
//此代码报错:未将对象引用设置到对象的实例。
MessageBox.Show(this.dataGridView2.Rows[e.RowIndex].Cells[0].Value.ToString());
}
不知何因。
为什么去单元格失去焦点,无法获得单元格内的值
以上代码在button事件里,是可以的
button_click
{
MessageBox.Show(this.dataGridView2.Rows[0].Cells[0].Value.ToString());//可以
}
8 个解决方案
#1
MessageBox.Show(this.dataGridView2[0, e.RowIndex].Value.ToString());
改成上面的试试
#2
this.dataGridView1.EndEdit();
if(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value!=null)
MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
if(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value!=null)
MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
#3
谢谢回复,试过,还是报:未将对象引用设置到对象的实例。
#4
那是因为有null了.
你试着提取其它的例,看看
你试着提取其它的例,看看
#5
楼上说得对,修改前要完成修改状态。this.dataGridView2.EndEdit();
#6
好像也是个datagridview的bug吧,在修改完后,关闭要离开那个单元格才能获取到单元格里的值的.
#7
贵兄的方法试过了,可以解决问题。谢谢。
#8
之所以报错是因为this.dataGridView2.Rows[e.RowIndex].Cells[0].Value肯能为NULL,此时再TOString()的时候就报错了哦
所以之前需要判断是否为NULL
至于修改前要完成修改状态。this.dataGridView2.EndEdit()
学习学习
所以之前需要判断是否为NULL
至于修改前要完成修改状态。this.dataGridView2.EndEdit()
学习学习
#1
MessageBox.Show(this.dataGridView2[0, e.RowIndex].Value.ToString());
改成上面的试试
#2
this.dataGridView1.EndEdit();
if(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value!=null)
MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
if(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value!=null)
MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
#3
谢谢回复,试过,还是报:未将对象引用设置到对象的实例。
#4
那是因为有null了.
你试着提取其它的例,看看
你试着提取其它的例,看看
#5
楼上说得对,修改前要完成修改状态。this.dataGridView2.EndEdit();
#6
好像也是个datagridview的bug吧,在修改完后,关闭要离开那个单元格才能获取到单元格里的值的.
#7
贵兄的方法试过了,可以解决问题。谢谢。
#8
之所以报错是因为this.dataGridView2.Rows[e.RowIndex].Cells[0].Value肯能为NULL,此时再TOString()的时候就报错了哦
所以之前需要判断是否为NULL
至于修改前要完成修改状态。this.dataGridView2.EndEdit()
学习学习
所以之前需要判断是否为NULL
至于修改前要完成修改状态。this.dataGridView2.EndEdit()
学习学习