一道C#语言程序题!!这道问题困扰了我很长时间了!希望各位大侠给予帮助!!十分感谢!

2025-02-25 18:12:07
推荐回答(3个)
回答1:

看了下截图,发现了几个问题,你检查一下:
1、你在获取点击的一行数据把它显示到TextBox里面时用的是DataGridView的CellContentClick事件,这个事件是在单元格的内容被单击时发生的,本来你就是点击了一个单元格,所以你要获取SelectedCells[1]的值时会出现索引超出范围的错误;
2、可以用DataGridView控件的Click事件来处理这个显示,在此事件中取SelectedRows的值,就是你当前点击的行的值,然后将每一列显示到对应的文件框里面就可以了,注意判断一下选中行是否为空:
if(this.dataGridView1.SelectedRows!=null&&this.dataGridView1.SelectedRows.Count>0)
{
txtNo.Text=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
txtAge.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
//后面的以此类推,只是Cells的值不同而已
}
3、还有一个需要注意的地方是要把DataGridView控件的SelectionMode属性设置为“FullRowSelect”,即选择方式为一行;
希望对你有帮助,还有疑问请追问或是Hi

回答2:

你的目的是获取一行数据吧?你应该根据selectedCell去找row,再利用row[0] row[1]去取值

回答3:

dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();用这样的方法写