我想让datagridview中某一行被选中时,textbox中显示选中的值,datagridview的选中模式是整行:
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
然后
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
int index = dataGridView1.SelectedRows[0].Index; //获取选中行的行号
textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();
}
运行时选择datagridview里面的行没有问题,但是当我不小心点击到datagridview的列头时,就提示如下错误:
索引超出范围。必须为非负值并小于集合大小。
参数名: index
这个怎么办?正常情况下点击列头就应该是没有反应的
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
然后
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
int index = dataGridView1.SelectedRows[0].Index; //获取选中行的行号
textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();
}
运行时选择datagridview里面的行没有问题,但是当我不小心点击到datagridview的列头时,就提示如下错误:
索引超出范围。必须为非负值并小于集合大小。
参数名: index
这个怎么办?正常情况下点击列头就应该是没有反应的
解决方案 »
- 请问,C#中怎样读取数据库中表的列名
- C#执行汇编类大功告成!吼一下!
- 各位大侠 请问一个 combobox 添加问题 在线等
- xml 文件求助
- sqldataadapter用事務更新時出錯後回滾,可表的rowstate已改
- 新手,求大神帮改改代码,实现批量插入数据时显示进度条 .在线等待大神!
- 请问,如何获取From的窗口大小?包括标题栏和边框
- 我手上有个C/S的程序,频繁切换程序的窗口的话,有时会报未处理异常的错。非常困惑!
- 有没有关于foxpro2.5 for dos 的开发成功例子?
- 模拟新浪微博登录 返回错误4402 不知道是什么问题
- 求助DataGridView加急加急加急加急加急加急加急加急
- DataGridView 在此种情况下该用哪种事件
{
int index = dataGridView1.SelectedRows[0].Index; //获取选中行的行号
textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();}
当你点到列头时,索引值是-1,应该把小于0的值过滤掉
if (dataGridView1.SelectedRows.Count < 1)
{
return;
}
int index = dataGridView1.SelectedRows[0].Index; //获取选中行的行号
if (dataGridView1.NewRowIndex == index||index<0)
{
textBox1.Text = "";
return;
}
textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count>0)
{
int index = dataGridView1.SelectedRows[0].Index;
textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();
}
else
{
textBox1.Text = string.Empty;
}
}