private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
//if (dataGridView1.CurrentCell.Value.ToString() == "NO")
//{
// dataGridView1.CurrentCell.Value = "YES";
//}
//else
//{
// dataGridView1.CurrentCell.Value = "NO";
//} }
}
datagridveiw上有记录,当点到第一列的时候,出现未将对象引用设置到对象的实例,我感觉第一列应该是有值的,只是值等于""罢了,怎么会报这样子的错呢,请大家指点一下吧,非常感谢.
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
//if (dataGridView1.CurrentCell.Value.ToString() == "NO")
//{
// dataGridView1.CurrentCell.Value = "YES";
//}
//else
//{
// dataGridView1.CurrentCell.Value = "NO";
//} }
}
datagridveiw上有记录,当点到第一列的时候,出现未将对象引用设置到对象的实例,我感觉第一列应该是有值的,只是值等于""罢了,怎么会报这样子的错呢,请大家指点一下吧,非常感谢.
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(dataGridView1.CurrentCell != null)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
}
}
}
表示当前单元格的 DataGridViewCell,如果没有当前单元格,则为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。默认值是第一列中的第一个单元格,如果控件中没有单元格,则为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。说明现在没有当前单元格!
{
if(dataGridView1.CurrentCell != null)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
}
} }
我改成这样子一样不行呀
也就是说你的DataGridView是否手工代码创建后,用代码绑定事件的?然后没有使用
this.Controls.add(datagridview1);
{
if(dataGridView1.CurrentCell != null && dataGridView1.CurrentCell.value.ToString() != "")
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
}
} }
当dataviewgrid单元格的值 为null的时候, tostring()就会报错,我改成如下
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
if (dataGridView1.CurrentCell.Value != null)
{
if (dataGridView1.CurrentCell.Value.ToString() == "YES")
{
dataGridView1.CurrentCell.Value = "NO";
}
else
{
dataGridView1.CurrentCell.Value = "YES";
}
}
else
{
dataGridView1.CurrentCell.Value = "YES";
}
}
}
就OK了,