Soran
dataGridView Filtreleme

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.
- Değiştirilmiş Tür Kyamuran SalibryamMicrosoft contingent staff, Moderator 15 Aralık 2016 Perşembe 13:49
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;
-
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; -
"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();