请问C#连接数据库dataGridView_CellContentClick索引超出范围的问题! 谢谢!

privatevoiddataGridView2_CellContentClick(objectsender,DataGridViewCellEventArgse){te... private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView2.SelectedCells[0].Value.ToString();
textBox2.Text = dataGridView2.SelectedCells[1].Value.ToString();
textBox3.Text = dataGridView2.SelectedCells[2].Value.ToString();
textBox4.Text = dataGridView2.SelectedCells[3].Value.ToString();
textBox5.Text = dataGridView2.SelectedCells[4].Value.ToString();
}

错误提示是索引超出范围。必须为非负值并小于集合大小。
参数名: index

谢谢!
展开
 我来答
帐号已注销
2013-03-08 · TA获得超过2184个赞
知道小有建树答主
回答量:631
采纳率:100%
帮助的人:645万
展开全部
从上图可以看出,你的表格点击选择单元格的方式是单个格,而不是整条记录行。你只选择了1个格,那么cells集合的数量是1,所以cells[0]可以读取,但1-4就超出索引
更多追问追答
追问
嗯,改了整行选择了,也没有索引错误了,谢谢!
我想再问问,有时点击选择一行的时候,为什么textBox有时没有返回选中值的?要多点击几下才行~ 有时会这样有时又不会~
追答
通过属性设置框。就是右键点击表格,选属性,通过属性窗口选择记录选择方式。属性名称是selectionMode ,设置为FullRowSelect
秋梵峻
2013-03-08 · 超过28用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:68.2万
展开全部
这是因为你dataview如果没有数据显示,你一点击就提示索引超出范围;
加入一个判断dataview是否为空,再对textbox赋值;
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if(dataGridView2.Rows.Count==0)

{
MessageBox.Show("没有数据!");

return;

}

else

{

textBox1.Text = dataGridView2.SelectedCells[0].Value.ToString();
textBox2.Text = dataGridView2.SelectedCells[1].Value.ToString();
textBox3.Text = dataGridView2.SelectedCells[2].Value.ToString();
textBox4.Text = dataGridView2.SelectedCells[3].Value.ToString();
textBox5.Text = dataGridView2.SelectedCells[4].Value.ToString();
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IcebeareM
2013-03-08 · TA获得超过660个赞
知道小有建树答主
回答量:1235
采纳率:0%
帮助的人:359万
展开全部
这么改改!就好了!
textBox1.Text = dataGridView2.SelectedCells["学号"].Value.ToString();
textBox2.Text = dataGridView2.SelectedCells["姓名"].Value.ToString();
textBox3.Text = dataGridView2.SelectedCells["班级"].Value.ToString();
textBox4.Text = dataGridView2.SelectedCells["学校"].Value.ToString();
textBox5.Text = dataGridView2.SelectedCells["入学年份"].Value.ToString();
追问
不行~
试了一下,就会提示错误

错误1与“System.Windows.Forms.DataGridViewSelectedCellCollection.this[int]”最匹配的重载方法具有一些无效参数

错误2参数“1”: 无法从“string”转换为“int”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘项原
2013-03-08 · TA获得超过933个赞
知道小有建树答主
回答量:920
采纳率:0%
帮助的人:531万
展开全部
检查一下dataGridView2.SelectedCells[],有5项吗

逐项注释掉试试:)
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
窜天雷
2013-03-09
知道答主
回答量:54
采纳率:0%
帮助的人:29.1万
展开全部
认识一下吧,我也正在准备复试,一样的华工啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式