Сортировка значения времени в наборе данных - PullRequest
0 голосов
/ 21 июля 2010

В моем текущем решении я конвертирую значение DateTime, «Время» в моей базе данных, используя CONVERT, чтобы оно отображалось в формате ##: ## AM / PM, и я понимаю, что CONVERT просто берет любой тип данных и поворачивает его в VarChar или String, как только его в C #. Это делает мою сортировку неправильно в моем Gridview. Я сортирую столбцы в моем DataSet, возвращенном из моей хранимой процедуры. Однако это не сортировка по AM / PM, поскольку это строковый литерал, а не DateTime.

Каков наилучший способ сортировки значений времени? Должен ли я использовать другой тип данных, например, TIME в моей базе данных? Другая команда CONVERT? Я в тупике! Я не могу использовать 24-часовой формат, это единственное ограничение. Спасибо!

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

Несколько мыслей:

  • Не могли бы вы использовать формат AM 01:23 / PM 01:23 - это хорошо бы отсортировалось.
  • Если вы можете вернуть время избазы данных в формате DATETIME, но с датой, установленной на некоторую «постоянную дату» (например, 2000-01-01 чч: мм), вы почти наверняка можете поместить строку формата в столбец GridView, чтобы отображать только время, при этом сохраняя возможность сортировкипо базовому значению.
0 голосов
/ 21 июля 2010

Я использую галочки: http://www.codeproject.com/KB/database/DateTimeToTicks.aspx Или (если возможно) DateTime - и обработайте это в моей сетке.

Вы можете добавить дополнительный столбец с датой / преобразованной датой, которая скрыта в васGUI, но используется для сортировки.

...