2013-05-14 54 views
5

Tôi không biết cú pháp để làm trống chế độ xem dữ liệu là gì. Xin hãy giúp tôi ở đây là mã của tôi.Làm thế nào để trống một datagridview?

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

Trả lời

19

bộ nguồn dữ liệu như là null

dataGridView1.DataSource = null; 

Hoặc

dataGridView1.Rows.Clear() 

HOẶC

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

1 cho 'Rows.Clear()' – Habib

+1

Có một lỗi, 'Không thể xóa list' này – Harvey

+0

@Harvey có bạn thử với RemoveAt? – Damith

5

cú pháp cho đổ một datagridview

Chỉ cần gán null vào DataSource property.

yourGridView.DataSource = null; 
+0

Cảm ơn bạn. Nhưng có cách nào khác không? – Harvey

+0

@ Harvey có thể bạn có thể thử 'yourGridView.Rows.Clear()' sau đó – V4Vendetta

+0

@ V4Vendetta Tôi đã thử điều đó nhưng có một ngoại lệ 'Không thể xóa danh sách này. ' – Harvey

2

Chỉ cần thiết lập DataGridView.DataSource tài sản để null

Gets hoặc bộ nguồn dữ liệu mà DataGridView được hiển thị dữ liệu cho.

DataGridView1.DataSource = null; 

Là một thay thế (không chính xác những gì .DataSource = null không)

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

Có một ngoại lệ. – Harvey

+0

@Harvey Ngoại lệ là gì? Ở đâu đó? –

+0

@ SonerGönül tôi đoán nó không cần phải là một 'DataTable' có thể là một ngoại lệ OP được nói về – V4Vendetta

1

Bạn có thể đặt DataSource của nó để null:

dataGridView.DataSource = null; 
1

Cách tiếp cận 1:

datagridview1.DataSourse=null; 

Approach2:

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

Cách tiếp cận 3:

datagridview1.DataSource = "" 

Phương pháp 4:

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

appr oạch 5:

Sử dụng Javascript:

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

Hy vọng hữu ích của nó.

+0

Nó không phải là một' Gridview' những gì OP hỏi ..! –

+0

nó cũng sẽ được áp dụng cho datagridview – Freelancer

-1

Hãy thử điều này:

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

Thiết lập nguồn dữ liệu null cũng sẽ thiết lập lại tất cả các định dạng của DataGridView. Bạn có thể giữ nguyên định dạng bằng cách tạo một trống DataTable và đặt định dạng đó làm nguồn.

Ví dụ:

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

tôi đã sử dụng cái này để làm sạch xem DataGrid trên ứng dụng cửa sổ của tôi.

dgView.DataSource = null không được làm việc cho tôi

Các vấn đề liên quan