none
dataGridView Filtreleme RRS feed

  • Genel Tartışma

  • Merhaba Arkadaşlar,

    Windows Form ekranımda excel'den okuduğum verileri datagrid'de listeleme işlemi yapıyorum. Listeleme yaparken de "Tarih" sütununu tersten sıralayarak yapıyorum. Sizden ricam excel'den ne kadar satır okunursa okunsun datagrid'de sadece tersten sıralanan sadece son 5 verinin görünmesini istiyorum. Yardımlarınızı rica ediyorum.

    Kolay gelsin.

    6 Aralık 2016 Salı 13:19

Tüm Yanıtlar

  • Nasil okudugunu ve listeledigini soylememissin ki. Ortada kod yok :(

    ExcelReader, Linq To Excel, Interop, OleDb, EPPlus,  ... ne kullaniyorsun?

    En kotu ihtimalle isin icinde DataTable varsa:

    var sirali = tblData.AsEnumerable()
                .OrderByDescending(r => r.Tarih)
                .Take(5)
                .ToList();
    
    dgv.DataSource = sirali;


    6 Aralık 2016 Salı 16:59
    Yanıtlayıcı
  • Excel'den veri okuma işlemi;

    OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter("SELECT *FROM [Sheet0$]", excelConnection);
    DataSet excelDataSet = new DataSet();

    Tarih verisini okuma;

    string anlikTarih = excelDataSet.Tables[0].Rows[excelSatir].ItemArray[2].ToString();

    dataGridView de listeleme;

     

    dataGridView3.Rows.Add(1);    

    dataGridView3.Rows[excelSatir-1].Cells[0].Value = anlikfazAdi;
    dataGridView3.Rows[excelSatir-1].Cells[1].Value = anlikTarih;
    dataGridView3.Rows[excelSatir-1].Cells[2].Value = anlikyesilSuresi;
    dataGridView3.Rows[excelSatir-1].Cells[3].Value = anlikAracsayisi;

    7 Aralık 2016 Çarşamba 11:38
  • "Excelden ne kadar okunursa okunsun" demissin, yani excelden sadece son 5 okumak istemiyorsun.

    OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter("SELECT *FROM [Sheet0$]", excelConnection);
    DataSet excelDataSet = new DataSet();
    excelDataAdapter.Fill( excelDataSet );
    
    // son 5. Tarih kolonunun adi Tarih varsayiyorum. 
    // Data tipi ne soylememissin, DateTime? kabul edersek.
    
    var tbl = excelDataSet.Tables[0];
    var son5 = tbl.AsEnumerable()
               .OrderByDescending(r => r.Field<DateTime?>("Tarih"))
               .Take(5);
    
    dataGridView3.DataSource = son5.ToList();

    7 Aralık 2016 Çarşamba 11:51
    Yanıtlayıcı