伤不起啊!求知道
第一个是主界面,我在这个窗体的listview里录入了商品的信息后,去结算(第二张form)结算完,再回主界面进行下一个录入,这个时候出现问题了,报错:索引超出边界。我在第二个form的确定按钮的单击事件里写了FormMain.ListView.ListItems.clear用来清除,还是没用。求指点
这是我主窗体listview的一段显示的代码:
If ListView.ListItems(1).Text = "" Then i = 1
If i = 1 Or i > ListView.ListItems.Count Then
If i > 1 Then ListView.ListItems.Add , , ""
ListView.ListItems(i).Text = Rs.Fields("商品编号")
ListView.ListItems(i).SubItems(1) = Rs.Fields("商品名称")
ListView.ListItems(i).SubItems(2) = N
ListView.ListItems(i).SubItems(3) = Rs.Fields("商品单价")
ListView.ListItems(i).SubItems(4) = Val(FormZK.Text1.Text)
ListView.ListItems(i).SubItems(5) = Val(ListView.ListItems(i).SubItems(2)) * Val(ListView.ListItems(i).SubItems(3))
ListView.ListItems(i).SubItems(6) = Val(ListView.ListItems(i).SubItems(4)) * Val(ListView.ListItems(i).SubItems(5))
ListView.ListItems(i).SubItems(7) = StockName
ListView.ListItems(ListView.ListItems.Count).Selected = True
End If
[解决办法]
是哪句出错嘛?
你要注意:列表内容为空的时候, ListView.ListItems(ListView.ListItems.Count).Selected = True会出错的吧。
[解决办法]
索引超出边界 有可能是代码中的列号超出了设计值(自己数数列的数量是否一致)
还有一个 看看第一个列号是从0还是从1开始的.......
这些都要自己通过调试一句一句找。。。。。。。。