我遇到一些应该非常简单的问题。当选择了一个项目时,我无法清除我的列表视图。
ItemListView.Items.Clear()
For i As Integer = SExp.Length - 1 To 0 Step -1
Dim MyItem As New ListViewItem
MyItem.Content = SExp(i).dtDateTime.ToString
ItemListView.Items.Add(MyItem)
Next
ItemListView.SelectedItem = 0
该代码是按钮调用中代码的一部分 - 它清除列表视图中的任何内容,并使用结构中的日期重新填充listview。
当没有选择任何东西时它很有用,但是当选择了某些东西时,我得到“索引超出了数组的范围”错误。
我尝试了很多东西,包括使用for循环逐个删除listivew中的每个项目 - 当它击中所选项目时出现错误。我也试图取消选择该项目然后清除,但我也无法做到这一点。
有什么想法吗?
答案 0 :(得分:2)
终于明白了。当我清除listview时,我有一个SelectionChanged事件被触发,并且事件无法处理索引“-1”(没有选择)。由于我在SelectionChanged事件中没有断点,所以我没有意识到错误实际上是在那里被抛出。
感谢您的建议!
答案 1 :(得分:0)
ItemListView.SelectedItem = 0
你没有' 0,'你添加了日期时间。将其更改为
ItemListView.SelectedIndex = 0
答案 2 :(得分:0)
试一试。
DataSource = null;
DataBind();