下标在MSFlexgrid中超出范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下标在MSFlexgrid中超出范围相关的知识,希望对你有一定的参考价值。

我在VB6中使用msflexgrid。如何删除或解决以下错误:

下标超出范围。

With flxData(0)
  For i = 1 To .Rows - 1
    Do While cboselect <> .TextMatrix(i, 1)
      .RemoveItem (i)
    Loop
  Next i
End with
答案

刚刚意识到Do While循环内部的For循环将导致错误显示 - 一旦一行没有所需的cboselect值,它将调用RemoveItem以及所有剩余的行,直到它被删除所有这些,然后它会在尝试删除(现在)不存在的行时显示该消息。

我猜你想要只删除与cboselect值不匹配的行,这样就可以调用If语句。您还需要向后运行For循环。试试这个:

With flxData(0)
  For i = .Rows - 1 to 1 Step -1
    If cboselect <> .TextMatrix(i, 1) Then
      .RemoveItem (i)
    End If
  Next i
End With

以上是关于下标在MSFlexgrid中超出范围的主要内容,如果未能解决你的问题,请参考以下文章

IndexError:列表索引在TensorFlow中超出范围

如何管理 SVG 文件中超出范围的值?

片段(Java) | 机试题+算法思路+考点+代码解析 2023

RecursionError:比较中超出了最大递归深度'

当我选择最后一行时,为什么在MSFlexGrid中选择所有行?

Python - RecursionError:比较错误中超出了最大递归深度[重复]