powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не удаётся удалить записи из ListView
4 сообщений из 4, страница 1 из 1
Не удаётся удалить записи из ListView
    #38853229
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго Вам времени суток
Уважаемые господа.

При наличии Вашего времени прошу Вас подсказать.

Вот таким кодом я удаляю записи из ListView .
Выбор удаляемой записи производится через Checkbox на ListView .

Код: vbnet
1.
2.
3.
4.
5.
For i = 1 To ListV1.ListItems.Count
If ListV1.ListItems.Item(i).Checked = True Then
ListV1.ListItems.Remove ListV1.ListItems.Item(i).Index
End If
Next



По одной записи данные удаляются нормально.
Но если выделить все записи или более одной, то выдаёт ошибку

Index out of bounds

Как это исправить ?

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
Не удаётся удалить записи из ListView
    #38853235
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, Намик.

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

Используйте либо цикл по индексам от конца к началу, либо For Each вместо For по Item-ам
...
Рейтинг: 0 / 0
Не удаётся удалить записи из ListView
    #38853243
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую Вас Shocker.Pro

Понял Вас

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
Не удаётся удалить записи из ListView
    #38853295
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так всё работает.

Код: vbnet
1.
2.
3.
4.
5.
For i = ListV1.ListItems.Count To 1 Step -1
If ListV1.ListItems.Item(i).Checked = True Then
ListV1.ListItems.Remove ListV1.ListItems.Item(i).Index
End If
Next



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


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