2 Spooks [2011-03-17 01:10:00]
Я пытаюсь удалить все строки, чтобы перезагрузить их (мне нужно удалить все строки). По какой-то причине его не удалять из моего datagridview (кроме того, что он не добавляет лишнего) ничего не происходит. Я пробовал много разных методов, я знаю, что сделал это в прошлом. (возможно, потому, что его конец дня)
Вот мой код, пробующий целую кучу удалений
Моя кнопка удаления вызывает loadMSXGridView, мне нужно только обновить все, потому что элементы в моем datagridview связаны с номером элемента, который не останется тем же самым
c# winforms datagridview
5 ответов
0 Решение Spooks [2011-03-17 19:08:00]
Моя ошибка, все работало после запуска отладки, которую я нашел Элементы примечаний не удалялись, поэтому они удалялись, добавляя те же элементы обратно. Я удаляю элементы из раздела RemarkElement, и он работает, спасибо за вашу помощь всем!
В моем ограниченном опыте привязки данных нелегко редактировать источник данных. Вы должны обрабатывать свои данные с помощью одной из привязки строк или других событий. Однако, если вы хотите отредактировать источник данных, вам в основном нужно клонировать структуру, а затем импортировать строки. Поэтому в этом смысле вы должны вернуться к своему источнику данных и выбрать именно то, что хотите.
Если вы хотите фильтровать/редактировать свои данные, вот как вы можете это сделать:
Изначально вы привязываетесь к данным:
вам следует продолжить привязку данных; либо скажите таблице, чтобы очистить себя (и повторно заполнить данные), либо просто назначьте другую таблицу данных dgv.DataSource .
Если вы просто хотите добавить другой datatable в качестве источника данных, выполните следующие действия:
Это должно работать, поскольку я только что сделал то же самое в проекте, над которым я работаю в минуту:)
Я бы предложил установить DataSource вашего DataGridView на BindingSource и вместо этого изменить DataSource BindingSource:
который решает большинство проблем, так как вам не нужно беспокоиться о том, как привязаны ваши данные.
Если вам нужно полностью удалить все строки и столбцы в таблице, то для этого напишите следующий код:
this .dataGr >// удаление всех строк
int count = this .dataGridView1.Columns.Count;
for ( int i = 0; i // цикл удаления всех столбцов
<
this .dataGridView1.Columns.RemoveAt(0);
>
Метод Clear удаляет все строки, которые были заполненными или пустыми.
Метод RemoveAt удаляет строки, которые имеют поле под индексом 0. В цикле мы постоянно удаляем строку 0, потому что после удаления на ее место поступает строка 1, которая стает 0-ой строкой.
Сейчас разрабатываю приложение, которое работает с базой данных и производит вывод информации в элемент DataGridView . И на одном из этапов разработки мне понадобилось очистить весь DataGr >
Начнем с того, что метод Clear() не работает.
Тогда на помощь приходит цикл:
Производим удаление последней записи до тех пор, пока количество записей не будет равно нулю.
Как подсказали в комментариях, происходило это потому, что вероятно был биндинг с DataSource .
В таком случае стоит попробовать следующий вариант:
Но сейчас я бы предпочел получить BindingSource и очистить его.
Вот так нужно очищать DataGr >Clear() не срабатывает. Вот такой своеобразный клининг получился.