我的表单有一个dgvw和一个文本框。当我点击dgvw中的任何一行时,我已经编码了文本框以显示第三个单元格的值。代码是:
txt1.text=dgvw1.currentrow.cells(2).value
这很好用......但是当我使用这段代码时:
txt1.Text = dgvw1.SelectedRows(dgvw1.CurrentRow.Index).Cells(2).Value.ToString
它给了我超出范围异常的索引!!为什么?我不明白!如果第一个代码有效,第二个代码也可以正常工作!为什么会抛出异常?
答案 0 :(得分:1)
SelectedRows
和CurrentRow
是独立的。 SelectedRows
可能没有任何行,它只包含突出显示的(蓝色)行。 CurrentRow
是光标所在的位置。这可能在选择内部或外部。
DataGridView.CurrentRow.Index
是DataGridView.Rows
集合的索引,不应与DataGridView.SelectedRows
一起使用。 DataGridView.SelectedRows
是DataGridView.Rows
尝试:
txt1.Text = dgvw1.Rows(dgvw1.CurrentRow.Index).Cells(2).Value.ToString