单击dataGridView某一行时将dataGridView当前选择行的某列值赋值给某个文本框

按教材做一个项目 其中有个功能要求在单击dataGridView某一行时将dataGridView当前选择行的某列值赋值给某个文本框...我的代码如下:

              txt1.Text = gdv1.SelectedRows[0].Cells["colHours"].Value.ToString();

结果运行后出现异常 异常信息为

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

上网找了资料才知道必须用courentRow 问题解决

SelectedRows时必须 单击该行最前面的的方格而不能点击表格里有数据的单元格

用CurrentRow时点哪都行

.看来教材内容不是很完整...哎 尽信书不如无书

SelectedRows、CurrentRow、Rows 三者之间的区别
SelectedRows表示的是你在DataGridView中所选择的行,其中Count属性是表示的选择的行数
CurrentRow表示的就是你所选择的当前行,只有一行
Rows表示的是DataGridView中所有的行数

你可能感兴趣的:(datagridview)