C # Сортировка столбца данных по дате - PullRequest
3 голосов
/ 15 декабря 2008

У меня есть столбец, содержащий даты, когда я щелкаю по заголовку столбца, столбец сортируется по номерам, а не по дате. Как бы я отсортировал это по дате? Дата указывается в формате дд / мм / гг.

Пример (отсортирован самым старым первым):

10/12/08 <- декабрь 10/09/08 <- сентябрь 12.12.08 <- декабрь </p>

Большое спасибо

Ответы [ 4 ]

10 голосов
/ 15 декабря 2008

Источник является источником данных? Если это так, вам, вероятно, потребуется указать, что рассматриваемый столбец имеет тип DateTime:

myDataTable.Columns["ColumnName"].DataType = System.Type.GetType("System.Date");

Надеюсь, это поможет!

1 голос
/ 17 ноября 2012

Попробуйте, у меня это сработало.

dataGridView1.Columns[colNum].DefaultCellStyle.Format = "d";

Заменить colNum фактическим номером столбца. d для короткой даты. У меня также есть военное время, поэтому мне пришлось добавить HH:mm:ss для блоков времени.

1 голос
/ 10 сентября 2010

Если источником данных является хранимая процедура, верните дату в виде двух столбцов в наборе данных. Один отформатирован (varchar), а другой - в типе данных Date time.

Скажем, хранимая процедура возвращает столбцы: COLUMN_STRING_FORMAT и COLUMN_DATETIME_FORMAT

В разметке для сетки

Обратите внимание на выражение сортировки в первой строке. Это относится к столбцу в типе данных DateTime.

Это сработало для меня, когда я сортировал дату в формате ДД-МММ-ГГГГ.

1 голос
/ 24 июля 2010

Вы должны использовать формат ячейки

dgv.Rows[rowId].Cells["colCreated"].Style.Format = "HH:mm :: dd/MM/yyyy";

или что-то подобное для всего столбца (см. DefaultCellStyle для столбца)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...