2013-05-14 13 views
5

Ich weiß nicht, wie die Syntax zum Leeren einer Datagridview ist. Bitte helfen Sie mir hier ist mein Code.Wie man eine Datagridview leeren?

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

Antwort

19

Satz Datenquelle als null

dataGridView1.DataSource = null; 

Oder

dataGridView1.Rows.Clear() 

OR

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

+1 für 'Rows.Clear()' – Habib

+1

ein Fehler Es gibt 'Kann dieses list' nicht klar – Harvey

+0

@Harvey Sie mit RemoveAt versuchen müssen? – Damith

5

Syntax für eine Datagridview Entleeren

Ordnen Sie einfach null dem DataSource property zu.

yourGridView.DataSource = null; 
+0

Danke. Aber gibt es einen anderen Weg? – Harvey

+0

@Harvey vielleicht können Sie 'yourGridView.Rows.Clear()' versuchen, dann – V4Vendetta

+0

@ V4Vendetta Ich habe das versucht, aber es gibt eine Ausnahme 'Kann diese Liste nicht löschen. ' – Harvey

2

Stellen Sie einfach DataGridView.DataSource Eigenschaft null

Ruft die Datenquelle, die die Datagridview die Daten zur Anzeige.

DataGridView1.DataSource = null; 

Als Alternative (nicht genau das, was .DataSource = null tut)

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

Es gibt eine Ausnahme. – Harvey

+0

@Harvey Welche Ausnahme? Auf wo? –

+0

@ SonerGönül ich denke, es muss nicht eine 'DataTable' wahrscheinlich eine Besetzung Ausnahme sein OP spricht über – V4Vendetta

1

Sie seine Datasource auf null gesetzt werden:

dataGridView.DataSource = null; 
1

Ansatz 1:

datagridview1.DataSourse=null; 

Ansatz2:

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

Ansatz 3:

datagridview1.DataSource = "" 

Ansatz 4:

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

Appr oach 5:

mit Javascript:

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

Hoffnung Sein hilfreich.

+0

Es ist kein' Gridview' was OP gefragt ..! –

+0

wird es auch auf datagridview angewendet werden – Freelancer

-1

Versuchen Sie folgendes:

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

die Datenquelle Einstellung auch auf null werden alle Formatierungen des DataGridView zurückgesetzt. Sie können die Formatierung beibehalten, indem Sie eine leere DataTable erstellen und diese als Quelle festlegen.

Zum Beispiel:

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

verwenden ich diese Datagrid Ansicht auf meinem Fenster Anwendung zu reinigen.

dgView.DataSource = null ist nicht für mich arbeiten

Verwandte Themen