VB.NET: Очистить DataGridView - PullRequest
       195

VB.NET: Очистить DataGridView

22 голосов
/ 07 февраля 2010

Я пробовал -

DataGridView1.DataSource=Nothing

и

DataGridView1.DataSource=Nothing
DataGridView1.Refresh()

и

DataGridView1.RefreshEdit()

Ни один из них не работает ..

Я написал метод, который устанавливает DataSource DataGridView при выполнении. но каждый раз, когда я выполняю его, он копирует данные с новым значением и добавляет его к предыдущему содержимому DGV.

Ответы [ 26 ]

62 голосов
/ 16 сентября 2010

Если DataGridView привязан к какому-либо источнику данных, вам нужно установить свойство DataSource DataGridView в Nothing.

Если DataGridView не привязан ни к какому источнику данных, этот код поможет:

DataGridView.Rows.Clear()
9 голосов
/ 09 апреля 2013

Для несвязанных дел обратите внимание, что:

DataGridView.Rows.Clear()

оставляет коллекцию Columns на месте.

DataGridView.Columns.Clear()

.. удалит все столбцы и строки. Если вы используете DGV unbound и при следующем использовании столбцы изменятся, очистка строк может оказаться недостаточной. Для кода библиотеки очистите все столбцы перед добавлением столбцов.

8 голосов
/ 07 февраля 2010

Я бы, наверное, использовал это ...

DataGridView1.Rows.Clear()

, чтобы очистить строки и затем выполнить повторную привязку.

3 голосов
/ 24 января 2013

Следуйте по простому пути, как это

предположим, что ta является DataTable

ta.clear()
DataGridView1.DataSource = ta
DataGridView1.DataSource = Nothing
1 голос
/ 07 июня 2014

Ничего не предпринимайте на DataGridView, просто очистите источник данных. Я попытался очистить метод myDataset.clear(), затем он сработал.

1 голос
/ 04 сентября 2013

Я обнаружил, что установка нулевого источника данных удаляет столбцы. Вот что у меня работает:

C #:

((DataTable)myDataGrid.DataSource).Rows.Clear();

VB:

Call CType(myDataGrid.DataSource, DataTable).Rows.Clear()
1 голос
/ 25 июня 2015

Мой DataGridView также связан с источником данных, и myDataGridView.Columns.Clear() работал нормально, но myDataGridView.Rows.Clear() - НЕ. Просто к сведению тех, кто пытался .Rows.

1 голос
/ 31 мая 2013

Чтобы удалить старую запись в datagridview при поиске нового результата, с помощью события button_click напишите следующий код,

me.DataGridview1.DataSource.clear ()

этот код поможет удалить старую запись в datagridview.

1 голос
/ 07 февраля 2010

Не можете ли вы привязать сетку данных к пустой коллекции (вместо нуля). Что подвох?

0 голосов
/ 11 апреля 2016

Если GridView (скажем, имя gvArchive) привязано к любому DataSource, его очистят следующие:

gvArchive.DataSource = Nothing

gvArchive.DataBind()
...