Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
索引超出了数组的边界。选择更改事件时的VB.NET_Vb.net_Datagridview_Selectionchanged - Fatal编程技术网

索引超出了数组的边界。选择更改事件时的VB.NET

索引超出了数组的边界。选择更改事件时的VB.NET,vb.net,datagridview,selectionchanged,Vb.net,Datagridview,Selectionchanged,您好,我有以下代码: Private Sub SelectionChanged(ByVal sender As Object, ByVal e As EventArgs) Handles dtgClients.SelectionChanged Dim dgvRow As DataGridViewRow For Each dgvRow In dtgClients.SelectedRows Id = dgvRow.Cells("Id").V

您好,我有以下代码:

 Private Sub SelectionChanged(ByVal sender As Object, ByVal e As EventArgs) Handles dtgClients.SelectionChanged

        Dim dgvRow As DataGridViewRow
        For Each dgvRow In dtgClients.SelectedRows
            Id = dgvRow.Cells("Id").Value.ToString
            Name= dgvRow.Cells("Name").Value.ToString

        Next
        i = dtgClients.CurrentCell.RowIndex
        ApplicationPath= CType(table(i), ConnectService.MyTableData).tab_aplications 
    End Sub
当我选择客户端并显示已安装的应用程序时,一切正常。但当我导航到我的网格并选择另一个客户端时,我收到以下错误:

索引在数组的边界之外-在行上

ApplicationPath= CType(table(i), ConnectService.MyTableData).tab_aplications 
谁能告诉我怎么了?谢谢

编辑:
我通过在每次选择更改时调整表的大小来解决此问题。谢谢大家!

表(i)似乎是问题所在。“table”变量代表什么?我假设“I”包含的数字大于表集合中的项数。我有一个带有一些客户端的datagrid,我想显示为一个选定客户端安装的应用程序(“I”是此客户端的行索引)。对于一个客户端来说,这很好,但是当我改变(当我选择另一个)客户端并且我想显示他的应用程序时,我收到了错误。当我选择一个有3个应用程序的客户端,然后选择一个有4个或更多应用程序的客户端时,问题就来了。如果我选择一个有4个,然后是一个有3个,没关系……这看起来很奇怪。您正在循环浏览所有selectedrows,因此问题是您可以选择多于1行吗?。如果是,这是有点错误的实施。如果没有,则可以将Id=dtgClients.selectedrows(0.Cells(“Id”).Value.ToString写入无需循环的字符串