每次单击datagrid时都会出现此错误。
每次在组合框中选择数据时,程序都会填充数据网格。
例如,我选择data1在datagrid中有四条记录,然后我点击行索引号1.没问题,它会显示,但是当我在组合框中再次选择另一个数据时,例如,数据2只有一条记录然后我将再次点击datagrid。
这是错误弹出的时间。
请参阅有关如何填充数据网格的代码:
Sub FillDtgPir(ByVal qry As String)
Try
If SQLConn1.State = ConnectionState.Closed Then SQLConn1.Open()
Dim adap As New SqlDataAdapter(qry, SQLConn1)
Me.DtsLineReq1.PRRMS_PIR.Clear()
adap.Fill(Me.DtsLineReq1, "PRRMS_PIR")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
代码中是否遗漏了什么?
答案 0 :(得分:1)
如果所选行索引大于新数据中的最大索引(行数减1),那么在进行填充之前根据需要减小行索引?或者检查异常的原因并减少行索引而不是显示错误消息?
答案 1 :(得分:0)
重新填充数据网格时 - 请确保重置所选行(这是我期望Clear()执行的操作)。
数组范围之外的索引通常是由于您尝试查看不再存在的行而导致的。你有一个指向数据网格中当前行的指针吗?
datagrid点击事件中是否发生了任何事情?