有关于获取DataGridView中数据的问题。 本帖最后由 s63403048 于 2011-10-21 20:44:57 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e){ MessageBox.Show(dataGridView1.CurrentCell.Value.ToString()); //是不是这个,双击dataGridView一项,弹出它的内容} if (dataGridView1.CurrentRow.Cells[0].Value.ToString() != "") { textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); } else { MessageBox.Show("出错"); } 大哥按您的dataGridView1_CellDoubleClick还是一样提示为设置实例。 aa = dataGridView1.CurrentRow.Cells[0].Value.ToString(); dataGridView1.SelectedRows[0].Cells[0].Value.ToString()写法就不对嘛,要写在CellDoubleClick事件中: private void dgvView_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { strValue = dgvView.Rows[e.RowIndex].Cells[0].Value.ToString(); } 你这个aa = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();如果不是选第一行的话肯定是错的,你没有选它而你要取他的值,当然会未将对象引用设置到对象的实例aa = dataGridView1.Rows[0].Cells[0].Value.ToString(); 看了一下回复,这么简单的问题,竟然没有一个回答对的未将对象引用设置到对象的问题年年有,今年特别多,要清楚这个错误提示的意思:就是不存在的东西,你去用它,结果就报错了。举个例子,假如有两个人在讨论一个女子名叫MM,其中一个说:听说MM的Bobo好大,你知道吗?另一个大笑一声说,你真会扯淡,根本就没MM这个人。故事结束,回到程序上来,假如你在程序中写道:MM.Bobo=big;编译器就会告诉你未将对象引用设置到对象你的问题if (dataGridView1.SelectedRows[0].Cells[0].Value.ToString() !="")你要看dataGridView1.SelectedRows[0]是否存在dataGridView1.SelectedRows[0].Cells[0]是否存在dataGridView1.SelectedRows[0].Cells[0].Value是否存在如果不存在的话,你对不存在的东西调用ToString()方法肯定出错 你的回答同样是是错的,不要说别人了if (dataGridView1.SelectedRows[0].Cells[0].Value.ToString() !="")你要看dataGridView1.SelectedRows[0]是否存在dataGridView1.SelectedRows[0].Cells[0]是否存在dataGridView1.SelectedRows[0].Cells[0].Value是否存在如果不存在的话,你对不存在的东西调用ToString()方法肯定出错东西是存在的,只是没选它,就要使用它,当然错!你不选Rows[0]而用SelectedRows[0]来判断这就已经错了 你懂什么?用的是SelectedRows[0]还是Rows[0]?不要偷换概念好不好 “提示未将对象引用设置到对象的实例”,这类问题非常简单,无非就是一个null的问题,细心的认真调试一下,就能很定位出错的位置! private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e){string v = dataGridView1.Rows[e.RowIndex].Cells[0].Value as string;}15楼说得对,就是null问题。按你“aa = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();”这个写法,因该是没有选择行,看看SelectedRows.Count是多少。其次,Cell[x].Value如果为null,用ToString也会报同样的错误,可以用as或Convert.ToSting。 devexpress 汉化步骤 数组中的一个值赋给另一个数组的一项 数组中连续出现的数字,求算法 关于数组~!(不能将对象存储在此类型的数组中) 网页在本机上好用,传到网上空间里就报错 +20翻转字符. .net有没用自带的snmp开发包,如果没有,有其他的适合.net的snmp开发包吗? 數據庫脩改問題!~~~ winfrom里面的数据列表实现拖拽效果用什么控件 asp.net 不用控件的话怎样输出动态的html内容 求一段代码 实现无边框窗体 改变大小(C#) String.Format(" : ","2222","3333")
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
//是不是这个,双击dataGridView一项,弹出它的内容
}
if (dataGridView1.CurrentRow.Cells[0].Value.ToString() != "")
{
textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}
else
{
MessageBox.Show("出错");
}
大哥按您的dataGridView1_CellDoubleClick还是一样提示为设置实例。
private void dgvView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
strValue = dgvView.Rows[e.RowIndex].Cells[0].Value.ToString(); }
肯定是错的,你没有选它而你要取他的值,当然会未将对象引用设置到对象的实例aa = dataGridView1.Rows[0].Cells[0].Value.ToString();
举个例子,假如有两个人在讨论一个女子名叫MM,其中一个说:听说MM的Bobo好大,你知道吗?
另一个大笑一声说,你真会扯淡,根本就没MM这个人。
故事结束,回到程序上来,假如你在程序中写道:
MM.Bobo=big;
编译器就会告诉你未将对象引用设置到对象
你的问题
if (dataGridView1.SelectedRows[0].Cells[0].Value.ToString() !="")
你要看dataGridView1.SelectedRows[0]是否存在
dataGridView1.SelectedRows[0].Cells[0]是否存在
dataGridView1.SelectedRows[0].Cells[0].Value是否存在
如果不存在的话,你对不存在的东西调用ToString()方法肯定出错
if (dataGridView1.SelectedRows[0].Cells[0].Value.ToString() !="")
你要看dataGridView1.SelectedRows[0]是否存在
dataGridView1.SelectedRows[0].Cells[0]是否存在
dataGridView1.SelectedRows[0].Cells[0].Value是否存在
如果不存在的话,你对不存在的东西调用ToString()方法肯定出错东西是存在的,只是没选它,就要使用它,当然错!你不选Rows[0]而用SelectedRows[0]来判断这就已经错了
细心的认真调试一下,就能很定位出错的位置!
{
string v = dataGridView1.Rows[e.RowIndex].Cells[0].Value as string;
}
15楼说得对,就是null问题。
按你“aa = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();”这个写法,因该是没有选择行,看看SelectedRows.Count是多少。
其次,Cell[x].Value如果为null,用ToString也会报同样的错误,可以用as或Convert.ToSting。