2013-05-14 22 views
5

Nie wiem, jaka jest składnia opróżniania datagridview. Proszę, pomóżcie mi, oto mój kod.Jak opróżnić datagridview?

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

Odpowiedz

19

zestaw DataSource za nieważną

dataGridView1.DataSource = null; 

Albo

dataGridView1.Rows.Clear() 

LUB

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

+1 dla 'Rows.Clear()' – Habib

+1

Wystąpił błąd, 'Nie można usunąć ten list' – Harvey

+0

@Harvey masz spróbuj RemoveAt? – Damith

5

składnia do opróżniania datagridview

Wystarczy przypisać null do jego DataSource property.

yourGridView.DataSource = null; 
+0

Dziękuję. Ale czy istnieje inny sposób? – Harvey

+0

@Harvey może możesz spróbować 'yourGridView.Rows.Clear()' następnie – V4Vendetta

+0

@ V4Vendetta Próbowałem, ale istnieje wyjątek 'Nie można wyczyścić tej listy. ' – Harvey

2

Wystarczy ustawić DataGridView.DataSource właściwość null

Pobiera lub ustawia źródło danych DataGridView jest do wyświetlania danych .

DataGridView1.DataSource = null; 

Jako alternatywę (nie dokładnie to, co .DataSource = null robi)

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

Istnieje wyjątek. – Harvey

+0

@Harvey Jaki wyjątek? Gdzie? –

+0

@ SonerGönül Domyślam się, że nie musi to być 'DataTable' prawdopodobnie wyjątek odlewu OP mówi o – V4Vendetta

1

Można ustawić jego DataSource na null:

dataGridView.DataSource = null; 
1

Podejścia 1:

datagridview1.DataSourse=null; 

Approach2:

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

Metoda 3:

datagridview1.DataSource = "" 

Metoda 4:

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

ca. oach 5:

użyciu JavaScript:

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

Nadzieję Jej pomocne.

+0

To nie jest' Gridview', co OP zapytał ..! –

+0

zostanie również zastosowany do datagridview – Freelancer

-1

Spróbuj tego:

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

Ustawianie źródła danych na null będą również zresetować wszystkie formatowanie DataGridView. Możesz zachować formatowanie, tworząc pusty DataTable i ustawiając go jako źródło.

Na przykład:

// 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();

użyłem tego jednego do czyszczenia datagrid widok na mojej aplikacji okiennej.

dgView.DataSource = null nie działa dla mnie

Powiązane problemy