none
datagridviewde seçili satırlarlardakı verileri liste aktarma RRS feed

  • 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. 

    2 Temmuz 2019 Salı 14:10

Yanıtlar

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.
    2 Temmuz 2019 Salı 16:18
  • 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.


    2 Temmuz 2019 Salı 16:56
    Yanıtlayıcı