Diskuze: Sortování dataGridView
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, podle toho co píšeš to vypadá že datum není v datagridview vloženo jako datum, ale jako text. Je potřeba aby daný sloupeček měl jako datový typ Date a ne String, pak by ti to mělo sortování fungovat podle očekávání.
Styl nehraje roli, jde o datový typ. Hoď sem kód jak vytváříš tabulku a jak ji plníš daty, pes bude zakopaný nejspíš tam. Datový typ sloupce je potřeba nastavit předtím než daný sloupec vložíš do datagridview, pak to myslím už změnit nejde.
Ano. Nemůžeš po programu chtít, aby ti data třídil podle datumů, když je tam máš jako text...
Tak tam dej podmínku, aby se nedala přidat prázdná pole.
Tak sem to vyřešil takto:
private void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
DateTime d1 = string.IsNullOrEmpty(e.CellValue1.ToString()) == false ? Convert.ToDateTime(e.CellValue1) : new DateTime();
DateTime d2 = string.IsNullOrEmpty(e.CellValue2.ToString()) == false ? Convert.ToDateTime(e.CellValue2) : new DateTime();
e.SortResult = DateTime.Compare(d1, d2);
e.Handled = true;
}
Zobrazeno 13 zpráv z 13.