En iyi yanıtlayıcılar
datagridviewde seçili satırlarlardakı verileri liste aktarma

Soru
-
Merhaba. İndi soracağım sorunu daha öncede burada sormuşdum manesef hiç kimse cevaplamadı. İstediyim datagrdidviewden seçili satırların verilerini listeye aktarmakdır.
List<Datalar> gelendata = new List<Datalar>(); class Datalar { public string parametrname { get; set; } public string netice { get; set; } public string vahid { get; set; } public string norma { get; set; } } Datalar data = new Datalar(); foreach (DataGridViewRow dr in dataGridView2.SelectedRows) { data.parametrname = dr.Cells["Parametrname"].Value == null ? "-" : dr.Cells["Parametrname"].Value.ToString(); data.netice = dr.Cells["Sonuc"].Value == null ? "-" : dr.Cells["Sonuc"].Value.ToString(); data.norma = dr.Cells["Normativ"].Value == null ? "-" : dr.Cells["Normativ"].Value.ToString(); data.vahid = dr.Cells["Vahid"].Value == null ? "-" : dr.Cells["Vahid"].Value.ToString(); gelendata.Add(data); }
Bu şekilde yapıyorum datalar null geliyor.
Yanıtlar
-
foreach blogunu yanlış işlemişsin, hem o kadar null kontrolu yapmana gerek yok:
List<Datalar> gelendata = new List<Datalar>(); // bunu lokal değişken olarak kullan foreach (DataGridViewRow dr in dataGridView2.SelectedRows) { var data = new Datalar { parametrname =(string)dr.Cells["Parametrname"].Value, netice = (string)dr.Cells["Sonuc"].Value, norma = (string)dr.Cells["Normativ"].Value, vahid = dr.Cells["Vahid"].Value.ToString() }; gelendata.Add(data); }
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 2 Temmuz 2019 Salı 17:03
- Yanıt Olarak Öneren Mehmet Emin Kaymaz 2 Temmuz 2019 Salı 18:20
- Yanıt Olarak İşaretleyen vusal.nurehmedov 4 Temmuz 2019 Perşembe 12:32
Tüm Yanıtlar
-
List<Datalar> listem = new List<Datalar>(); dataGridView1.SelectedRows.OfType<DataGridViewRow>().ToList().ForEach(x => listem.Add(new Datalar { netice = x.Cells[0].Value.ToString(), norma = x.Cells[1].Value.ToString(), parametrname = x.Cells[2].Value.ToString(), vahid = x.Cells[3].Value.ToString() }));
Datalar null geliyor dediğine göre satırı doğru seçmediğinden şüphe edilebilir.Selectedrow dan kasıt rowheader'a tıklayarak tüm satırı boydan boya seçmek , öteki türlü seçili bir satır olmayacağından selectedrows bir koleksiyon dönmeyecektir. -
foreach blogunu yanlış işlemişsin, hem o kadar null kontrolu yapmana gerek yok:
List<Datalar> gelendata = new List<Datalar>(); // bunu lokal değişken olarak kullan foreach (DataGridViewRow dr in dataGridView2.SelectedRows) { var data = new Datalar { parametrname =(string)dr.Cells["Parametrname"].Value, netice = (string)dr.Cells["Sonuc"].Value, norma = (string)dr.Cells["Normativ"].Value, vahid = dr.Cells["Vahid"].Value.ToString() }; gelendata.Add(data); }
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 2 Temmuz 2019 Salı 17:03
- Yanıt Olarak Öneren Mehmet Emin Kaymaz 2 Temmuz 2019 Salı 18:20
- Yanıt Olarak İşaretleyen vusal.nurehmedov 4 Temmuz 2019 Perşembe 12:32