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

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

Вот таким кодом я удаляю записи из 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
13.01.2015, 15:11
    #38853235
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не удаётся удалить записи из ListView
Приветствую, Намик.

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

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

Понял Вас

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

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


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