2013-05-14 3 views
5

Я не знаю, что такое синтаксис для опорожнения datagridview. Пожалуйста, помогите мне вот мой код.Как удалить datagridview?

if (cboProduct.SelectedIndex != -1) 
    load_variant(); 
else 
    //empty the datagridview 
    cboProduct.SelectedIndex = -1; 

ответ

19

набор DataSource утратившим

dataGridView1.DataSource = null; 

Или

dataGridView1.Rows.Clear() 

ИЛИ

while (dataGridView1.Rows.Count > 0) 
{ 
    dataGridView1.Rows.RemoveAt(0); 
} 
+1

+1 для 'Rows.Clear()' – Habib

+1

Там допущена ошибка, 'Не удается удалить этот list' – Harvey

+0

@Harvey Вы попробуйте с RemoveAt? – Damith

5

синтаксис для опорожнения DataGridView

Просто присвойте null его DataSource property.

yourGridView.DataSource = null; 
+0

Спасибо. Но есть ли другой путь? – Harvey

+0

@ Харви, возможно, вы можете попробовать 'yourGridView.Rows.Clear()' then – V4Vendetta

+0

@ V4Vendetta Я пробовал это, но есть исключение 'Невозможно очистить этот список. ' – Harvey

2

Просто установите DataGridView.DataSource свойство null

Получает или задает источник данных, что DataGridView является отображением данных для.

DataGridView1.DataSource = null; 

В качестве альтернативы (не то, что .DataSource = null делает)

DataTable dt = (DataTable)DataGridView1.DataSource; 
if(dt != null) 
    dt.Clear(); 
+0

Есть исключение. – Harvey

+0

@ Харви Какое исключение? Где? –

+0

@ SonerGönül Я предполагаю, что это не должно быть 'DataTable', вероятно, исключение для исключения, о котором говорит О, – V4Vendetta

1

Вы можете установить его DataSource в нуль:

dataGridView.DataSource = null; 
1

Подход 1:

datagridview1.DataSourse=null; 

Approach2:

DataView DV = (DataView)this.SqlDataSource1.Select(DataSourceSelectArguments.Empty); 
DV.Table.Clear(); 

Подход 3:

datagridview1.DataSource = "" 

Подход 4:

datagridview1.Dispose();//Clears gridview with all its properties 

провер тренере 5:

Использование Javascript:

document.getElementById("datagridview1").outerHTML = ""; 

Надежда Его полезное.

+0

Это не« Gridview », о котором спрашивал OP.! –

+0

он будет применяться к datagridview также – Freelancer

-1

Попробуйте это:

int nn = yourgridview.Rows.Count; 
for (int i=nn; i>1; i--) 
{ 
    { 
     yourgridview.Rows.RemoveAt(i-2); 
    } 
} 
0

Установка источника данных в нуль также сбросить все форматирование DataGridView. Вы можете сохранить форматирование, создав пустой DataTable и установив это как источник.

Например:

// Create an empty datatable 
DataTable empty = new DataTable(); 
empty.Columns.Add("Name", typeof(string)); 
empty.Columns.Add("Color", typeof(myEnum)); 
empty.Columns.Add("Count", typeof(int)); 
... 

// Clear datagridview 
dgv.DataSource = empty; 
0

if (dgView.DataSource == null) return; ((DataTable)dgView.DataSource).Rows.Clear(); ((DataTable)dgView.DataSource).Columns.Clear();

Я использовал этот очистить DataGrid вид на моем окне приложения.

dgView.DataSource = null не работает для меня

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