2012-06-29 103 views
11

Tôi có một Winform với DataGridView tải trước trên nó ... Tôi muốn loại bỏ các hàng từ datagridview vào chọn hoặc làm nổi bật các hàng và nhấp lên nút ...Làm cách nào để xóa các hàng khỏi DataGridView?

Cũng muốn xóa tất cả các cột ....

Hiện nay tôi sử dụng

foreach (DataGridViewRow dgvr in dataGridView2.Rows) 
{ 
    if (dgvr.Selected == true) 
    { 
     dataGridView2.Rows.Remove(dgvr); 
    } 
} 

nhưng nó được ném một ngoại lệ rằng "hàng hay không cam kết" hoặc một cái gì đó .... nó sẽ là đáng kể nếu có một có bất cứ lời đề nghị tốt hơn ....

Trả lời

23

Nếu bạn có AllowUserToAddRows bật trên DataGridView của mình thì bạn có thể vô tình xóa hàng trống ở cuối DataView, đây là trình giữ chỗ cho hàng được tạo tiếp theo. Hãy thử tắt tùy chọn này nếu không bắt buộc, nếu không hãy thử sử dụng mã như sau:

foreach (DataGridViewRow row in dataGridView1.SelectedRows) 
{ 
    if(!row.IsNewRow) 
     dataGridView1.Rows.Remove(row); 
} 
Các vấn đề liên quan