6 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 182

Возможно ли удалить сразу все выделенные строки в DataGridView?

18.07.2017, 09:25. Показов 2921. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, есть DataGridView и в ней несколько выделенных строк, возможно ли удалить сразу все выделенные строки, и естественно,если можно - тогда подскажите код для удаления. Ну или как альтернативный вариант, удаление всех выделенных строк по очереди.

Добавлено через 42 минуты
Grid2 - DataGridView
пробовал так:
VB.NET
1
2
3
4
5
For Each Row In Grid2.Rows
                If Grid2.Rows(Row.Index).Selected = True Then
                    Grid2.Rows.RemoveAt(Row.Index)
                End If
            Next
но так удаляется только одна выделенная строка из таблицы, приходится постоянно в ручную запускать процедуру пока не удалятся все выделенные строки, как "автоматизировать" процесс удаления, что бы удалялись сразу все выделенные строки программно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.07.2017, 09:25
Ответы с готовыми решениями:

Возможно ли удалить сразу все комментарии на движке ВП?
Получилось так, что на сайте собралось 4102 коммента на 206 страниц. Если удалять по 20 штук, как это запрограммировано в движке - можно...

Каким способом распечатать выделенные строки из DataGridView
Доброго времени суток. Доделал программку(адресная книга). Суть программки в том что забиваешь данные номер телефона и это всё заносится...

Как удалить все строки DataGridView?
Пытаюсь удалить все строки таким способом, но так удаляются все строки, только когда их две. for (int i = 0; i <...

7
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
18.07.2017, 09:47
Цитата Сообщение от NikolayUh Посмотреть сообщение
но так удаляется только одна выделенная строка из таблицы, приходится постоянно в ручную запускать процедуру пока не удалятся все выделенные строки
А Row.Index меняется где-то? Если нет, то он одну строку и удаляет. Кроме того вызов пахнет рекурсией, т.к. после удаления строки коллекция Grid2.Rows меняется

Попробуйте так:
VB.NET
1
2
3
4
5
For i As Integer = Grid2.Rows.Count-1 To 0 Step -1
                If Grid2.Rows(i).Selected = True Then
                    Grid2.Rows.RemoveAt(i)
                End If
Next
Писал на коленке, так что м/б синт. ошибки, но суть должна сработать
0
6 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 182
18.07.2017, 09:52  [ТС]
пробовал так:
VB.NET
1
2
3
4
5
For i As Integer =0 To Grid2.Rows.Count-1
                If Grid2.Rows(i).Selected = True Then
                    Grid2.Rows.RemoveAt(i)
                End If
Next
удаляется так же по одной выделенной строке и выкидывает ошибку на несуществующий index
0
Лень — мое второе и
 Аватар для Orlangur
3224 / 2413 / 686
Регистрация: 28.11.2014
Сообщений: 3,599
Записей в блоге: 3
18.07.2017, 10:34
NikolayUh, вам же написали от конца к началу идти, а вы снова от начала к концу
0
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
18.07.2017, 11:29
Если от начала, то можно как-нить так извратиться
C#
1
2
3
4
5
For i As Integer =0 To Grid2.Rows.Count-1
                If Grid2.Rows(i).Selected = True Then
                    Grid2.Rows.RemoveAt(i--)
                End If
Next
По идее удалит итый элемент и следующая итерация будет к элементу с индексом -1 от прежней коллекции. Но это надо пробовать
0
178 / 178 / 52
Регистрация: 11.03.2014
Сообщений: 200
18.07.2017, 11:55
VB.NET
1
2
3
 For Each row As DataGridViewRow In DataGridView1.SelectedRows
            DataGridView1.Rows.Remove(row)
        Next
3
6 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 182
18.07.2017, 15:28  [ТС]
VB.NET
1
2
3
4
5
For i As Integer = Grid2.Rows.Count-1 To 0 Step -1
                If Grid2.Rows(i).Selected = True Then
                    Grid2.Rows.RemoveAt(i)
                End If
Next
netBool Код работает,благодарю за подсказку.

Добавлено через 5 минут
VB.NET
1
2
3
For Each row As DataGridViewRow In DataGridView1.SelectedRows
            DataGridView1.Rows.Remove(row)
        Next
k13Код работает,благодарю за подсказку.
Всем спасибо кто помогал.
0
0 / 0 / 0
Регистрация: 19.07.2017
Сообщений: 3
19.07.2017, 10:17
VB.NET
1
2
3
4
5
6
7
Dim DeletingRows as New List(of datagridviewrow)
For each dgwr as datagridviewrow in Datagridview1.SelectedRow
deletingRow.Add(dgwr)
Next
For each dgwr as datagridviewrow in deletingrows
dgwr.delete
next
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.07.2017, 10:17
Помогаю со студенческими работами здесь

Удалить выделенные строки в Listbox'e
Знаю, что уже не раз задавался подобный вопрос. Однако подходящего ответа в них я не нашёл. Как удалить выделенные строки в листбоксе?...

CheckListBox Удалить выделенные строки
Пробовал сделать по аналогии с обычным лист боксом но удаляет только 1 строку а нужно чтобы удалило все выделенные строки.

Удалить выделенные строки в DataGrid
Столкнулся с самой унылой проблемой. Нужно выделить несколько строк не обязательно по порядку и удалить их

Удалить из ListBox выделенные строки
вот код кнопки Delete: procedure TDelete_Programm.Button1Click; var sel:Integer; begin Sel:=ListBox1.ItemIndex; ...

Программно удалить выделенные строки в ListView
Здравствуйте. Голову уже сломал.. Есть заполненный ListView1, в нем программно выделяю строки For b As Integer = 0 To 9 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru