DataGridView.Clear()
Here comes the trouble. I want to delete all rows from datagridview. This how i add rows:
And its how i clear gridview:
in debug i see that dataGridVIew1.Rows.Count=0, but on form, grid doesnt become clear. what a point? on each selection in tree, i want to see new rows in table.
19 Answers 19
I’m betting you just need to refresh the datagrid. Try this:
If this works. you might want to rethink this part of your application.
If I remember correctly, I set the DataSource property to null to clear the DataGridView:
Как очистить datagridview c
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
- ProfileText
- Sign in
Answered by:
Question
I have a datagridview on a form. I required it to clear all rows of datagridview on button click event.
I tried the syntax ::
But that syntax threws an exception "Cannot Clear The List".
Currently i am using the syntax ::
Here, I want to know that is the method mentioned later is the appropriate to clear the datagridview rows or is their any other method to clear the datagridview rows.
Очистка DataGridView или удаление всех записей
Сейчас разрабатываю приложение, которое работает с базой данных и производит вывод информации в элемент DataGridView . И на одном из этапов разработки мне понадобилось очистить весь DataGridView. Вроде бы элементарная задача, однако решить её первым возникшим у меня в голове способом мне не удалось.
Начнем с того, что метод Clear() не работает.
Тогда на помощь приходит цикл:
Производим удаление последней записи до тех пор, пока количество записей не будет равно нулю.
Как подсказали в комментариях, происходило это потому, что вероятно был биндинг с DataSource .
В таком случае стоит попробовать следующий вариант:
Но сейчас я бы предпочел получить BindingSource и очистить его.
Вот так нужно очищать DataGridView, если метод Clear() не срабатывает. Вот такой своеобразный клининг получился.
Как очистить представление сетки данных
Я пытаюсь заполнить DataGridView на основе выбранного элемента в ComboBox, у меня эта часть работает.
тем не менее, мне нужно иметь возможность очистить сетку, прежде чем добавлять новые данные из нового элемента, а не просто добавлять в конец.
Как очистить DataGridView перед добавлением в него элементов?
17 ответов
во-первых, null источник данных:
затем очистить строки:
затем установите источник данных в новый список:
если он привязан к источнику данных —
работал для меня.
вы можете очистить DataGridView таким образом
если это databound тогда попробуйте это
Если вы хотите очистить не только данные, но и комбинации, флажки, попробуйте
вы можете назначить источник данных как null таблицы данных, а затем привязать его.
вы можете взять эту следующую инструкцию и сделать работу с отсутствием производительности. Если вы хотите увидеть эффект этого, поместите одну из 2 следующих инструкций (технически похожих), где вам нужно очистить DataGridView в try<> catch(. )<> finally и ждать, что произойдет.
вы улучшаете эту задачу, но ее недостаточно, есть проблема для сброса DataGridView из-за colums, которые остаются в объекте DataGridView. Наконец, я предлагаю, лучшее способ, который я реализовал в своей домашней практике, — обрабатывать этот gridView как файл со строками, столбцами: коллекция записей на основе соответствия между строками и столбцами. Если вы можете улучшить, то сделайте свой собственный выбор a) или b): foreach или while.
Ну, как рекомендация никогда в вашей жизни Сначала удалите столбцы, порядок перед строками после cols, потому что логически столбцы, где созданы сначала, а затем строки.Это было бы наказание с точки зрения правильного analisys.
затем поместите его внутри функции или метода.
наконец, вызовите новую функцию ClearDataGridViewLoopWhile (); или ClearDataGridViewForEach (); где вам нужно использовать его, но его рекомендуется, когда вы делаете запросы и меняете таблицы severall, которые будут загружаться с именами заголовков diferents в grieView. Но если вы хотите сохранить заголовки здесь, есть решение.