2016-11-20 7 views
0

У меня есть datagridview, привязанный к источнику данных, все заголовки добавлены в коллекцию столбцов с заданным набором данных.Как очистить все строки без удаления заголовка столбца datagridview C#

Когда я очистить DataGridView с помощью

DataGridView1.DataSource = null; 

Заголовки также исчезают, и когда я заполняю DataGridView снова тексты заголовков являются имена столбцов базы данных.

Before refilling datagridview

After clearing and refilling the datagridview

Я делаю это, чтобы заполнить мой DataGridView

MyDataGridView.DataSource = MyDatabase.MyTable.Select(rows => new 
       { 
        ProductName = rows.Product.Name, 
        Quantity = rows.Quantity, 
        SalePrice = rows.SalePrice, 
        SubTotal = rows.Quantity * rows.SalePrice 
       }).ToList(); 

Итак, можно ли удалить все строки без удаления заголовка столбца?

+0

у вас установлен 'DataGridView.AutoGenerateColumns = ложь;'? – McNets

+0

Не работает –

+0

, вы должны показать свой код, по крайней мере, вовлеченную часть, а не только запрос. – McNets

ответ

0

Вы можете использовать эту команду, чтобы удалить все строки:

MyDataGridView.Rows.Clear(); 
+0

Я пытаюсь это, но я получил эту ошибку исключение типа «System.InvalidOperationException» произошло в System.Windows.Forms.dll, но не был обработан в пользовательском коде Дополнительная информация: Ряды коллекция не может программно очищаться, когда элемент управления DataGridView привязан к данным ко всему, чем IBindingList, который поддерживает уведомление об изменении и позволяет удалить. –

+0

Я нашел проблему, мне просто нужно удалить __. ToList() __ в конце запроса. большое спасибо –

Смежные вопросы