2016-04-12 32 views
0

Seçili satırı DataGridView'imden silmem gerekiyor. Şu anda seçme komutunu çalıştırmayı başardım ancak seçili satırı kaldırmak/silmek için hangi kodun devam edeceğini bilmiyorum. i kullanmaSeçilen satırı Sil DataGridView

kodudur:

(refTofrPlanMain.dGVPlan.DataSource as DataTable).DefaultView.RowFilter = string.Format("Vodic = '{0}'", searchTBoxW.Text); 
foreach (DataGridViewRow item in refTofrPlanMain.dGVPlan.Rows) 
{ 
    if (item.Visible) 
    { 
     item.Selected = true; 
     break; 
    } 
    //... 
    //Other code 
    //... 
} 

: - refTofrPlanMain Form1'e bir başvuru (I Form2 çalışıyorum) temsil - dGVPlan DataGridView olup.

Desteğiniz için teşekkür ederiz.

+0

En büyük sorun, foreach döngüsünü yapıyorsunuz ve foreach döngüsü sırasında asla silmemelisiniz. Yinelemek ve daha sonra geri silmek için daha iyi: http://stackoverflow.com/questions/1582285/how-to-remove-elements-from-a-generic-list-while-iterating-over-it – Draken

+0

Şey, ben sürekli olarak yeni değerler aramak (tam değer iki katına çıkarılmadan filtrelenir) ve her seferinde silmek istiyorum. Bu sorun çıkarır mı? –

+0

Bildiğim kadarıyla, sorunuzu anladığımdan emin değilim. Sahip olabileceğiniz tek sorun, listeniz ne kadar büyük olursa, yineleme süresi o kadar uzun olur. Ama yine de yineliyordunuz, bu yüzden bir sorun görmüyorum. – Draken

cevap

1
(refTofrPlanMain.dGVPlan.DataSource as DataTable).DefaultView.RowFilter = string.Format("Vodic = '{0}'", searchTBoxW.Text); 
for(int i=refTofrPlanMain.dGVPlan.Rows.Count-1; i >=0; i--) 
{ 
    DataGridViewRow item = refTofrPlanMain.dGVPlan.Rows[i]; 
    if (item.Visible && !item.IsCurrentRowDirty()) 
    { 
     refTofrPlanMain.dGVPlan.Rows.RemoveAt(i); 
     break; 
    } 
    //... 
    //Other code 
    //... 
} 
+0

Burada atıfta bulunulan Öğeler Öğesi olabilir: http: // stackoverflow. com/questions/838679/satır-sütun-veri-grid-in-c-keskin – Draken

+0

Bir hata alıyorum görünüyor: Ek bilgiler: Kayıtsız yeni satır silinemez. RefTofrPlanMain.dGVPlan.Rows.RemoveAt (i) adresinde yer almaktadır; –

+0

Kullanıcılar "datagridview" öğenize yeni satır ekleyebildikleri için eksik bir satır eklendiğinden şikayetçi olabilirler mi? – Draken