Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ListView. Удаление выделенных элементов / 12 сообщений из 12, страница 1 из 1
22.09.2009, 15:39
    #36210581
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Всем доброго дня !!!

Подскажите как удалить выбранные элементы в ListView ?

По одному делаю так:
Код: plaintext
frmNav.File1.ListItems.Remove frmNav.File1.SelectedItem.Index

Спасибо.
...
Рейтинг: 0 / 0
22.09.2009, 16:10
    #36210739
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Да по другому вроде никак, быстрее только Clear, но он все удаляет. Лочь форму перед началом манипуляций, чтобы не было
задержек на прорисовку промежуточных результатов.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.09.2009, 16:15
    #36210758
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Что-то близко, но ругается ....


Код: plaintext
1.
2.
3.
4.
5.
For i =  1  To frmNav.File1.ListItems.Count
If frmNav.File1.ListItems.Item(i).Selected = True Then
MsgBox frmNav.File1.ListItems.Item(i).Text
frmNav.File1.ListItems.Remove (i) 
End If
Next i

???
...
Рейтинг: 0 / 0
22.09.2009, 16:16
    #36210761
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Потому что удалять нужно с конца.

Jah loves you.
...
Рейтинг: 0 / 0
22.09.2009, 16:21
    #36210791
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Непонятно, проскакивает через один элемент, как будто включен Step 2

И ошбка Index out of bounds
...
Рейтинг: 0 / 0
22.09.2009, 16:26
    #36210814
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Понял ... Он один индекс удаляет и естественно и значение следующего индекса уже не то
...
Рейтинг: 0 / 0
22.09.2009, 16:27
    #36210824
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Эх, недогада…

При удалении происходит переиндексация элементов. Когда удаляешь первый элемент, второй становится первым, а на второй итерации цикла удаляется тот, который был третьим. В итоге остяется меньше элементов, чем было на начало цикла и вылетает ошибка при обращении к уже несуществующему индексу.

Jah loves you.
...
Рейтинг: 0 / 0
22.09.2009, 16:44
    #36210908
by-pass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dim cur as long
cur= 1 
L_:
For i = cur To frmNav.File1.ListItems.Count
   If frmNav.File1.ListItems.Item(i).Selected = True Then
      frmNav.File1.ListItems.Remove (i) 
   End If
   car=i
   goto L_
Next i
...
Рейтинг: 0 / 0
22.09.2009, 16:52
    #36210933
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Вроде да, только так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim cur As Long
cur =  1 
L_:
For i = cur To frmNav.File1.ListItems.Count
   If frmNav.File1.ListItems.Item(i).Selected = True Then
      MsgBox frmNav.File1.ListItems.Item(i).Text
      frmNav.File1.ListItems.Remove (i)
      Else
      Exit For
   End If
   car = i
   GoTo L_
Next i

Спасибо !!!
...
Рейтинг: 0 / 0
22.09.2009, 17:48
    #36211123
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Нда, блондинки от программирования.
Код: plaintext
1.
2.
For i = frmNav.File1.ListItems.Count To  1  Step - 1 
    If frmNav.File1.ListItems.Item(i).Selected = True Then frmNav.File1.ListItems.Remove (i) 
Next i
...
Рейтинг: 0 / 0
22.09.2009, 17:54
    #36211143
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
c GOTO сильно выступил ;)
...
Рейтинг: 0 / 0
22.09.2009, 17:58
    #36211153
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView. Удаление выделенных элементов
Согласен ,,,

Спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ListView. Удаление выделенных элементов / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]