Sortieren von Daten in DataGridView
Ich ziehe verschiedene Informationen aus einer SQL-Tabelle mit sqlDataReader.
Eine der Spalten enthält, die DateTime -, und zog aus der sql und richtig dargestellt, mit:
var datestring = reader.GetDateTime(reader.GetOrdinal("deadline")).ToShortDateString();
Anzeige im DataGridView in das folgende format: dd.MM.yyyy
Wenn ich versuche zu Sortieren, diese, sortiert Sie nach dd
, egal, was die MM
und yyyy
info ist.
Den datestring in das datagridview mit dem folgenden Befehl:
dgv_tasks.Rows.Add(tid, taskname, sidvariable, datestring);
Jemand weiß, warum es nicht Euch den Termin auf alle, sondern nur die Anzahl in dd
?
(Ich habe mir hier für eine Antwort, aber keiner der ähnliche Fragen hatte eine Arbeitsgruppe beantworten).
- Wie Sortieren Sie Ihre datagridview genau? Sieht aus wie Sie die Sortierung basiert auf einem
string
beachten Sie eineDateTime
. - Kann Sie nicht Sortieren, es über die SQL-Abfrage?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie wollen, es zu verlassen, wie ein
DateTime
imDataGridView
, nicht in eine Zeichenkette konvertiert. Das ist, warum es ist die Sortierung alphabetisch sortiert, anstatt nach Datum.Entfernen
.ToShortDateString()
und definieren Sie IhreDataGridViewColumn
alsDateTime
Art (angenommen, Sie erstellen die Spalten manuell).Nach der Zuweisung der Daten zu den
DataGridView
, nur ändern Sie in dieser SpalteDefaultCellStyle.Format
Wert, um das Datum anzuzeigen, in welcher Weise Sie Sie wählen:Es ist die Sortierung alphabetisch, weil Sie konvertiert es in einen string.
Versuchen Sie es mit der date-Wert in Ihrem datagridview mit einem Formatierer für die Anzeige Zwecke.