突然得到INDEX OUT OF RANGE异常vb.net

时间:2017-10-25 05:45:41

标签: vb.net datagridview

我的表单有一个dgvw和一个文本框。当我点击dgvw中的任何一行时,我已经编码了文本框以显示第三个单元格的值。代码是:

 txt1.text=dgvw1.currentrow.cells(2).value

这很好用......但是当我使用这段代码时:

txt1.Text = dgvw1.SelectedRows(dgvw1.CurrentRow.Index).Cells(2).Value.ToString

它给了我超出范围异常的索引!!为什么?我不明白!如果第一个代码有效,第二个代码也可以正常工作!为什么会抛出异常?

1 个答案:

答案 0 :(得分:1)

SelectedRowsCurrentRow是独立的。 SelectedRows可能没有任何行,它只包含突出显示的(蓝色)行。 CurrentRow是光标所在的位置。这可能在选择内部或外部。

DataGridView.CurrentRow.IndexDataGridView.Rows集合的索引,不应与DataGridView.SelectedRows一起使用。 DataGridView.SelectedRowsDataGridView.Rows

的子集

尝试:

txt1.Text = dgvw1.Rows(dgvw1.CurrentRow.Index).Cells(2).Value.ToString