Member 11712712 Ответов: 2

Как отсортировать datatable в C#, который имеет столбец datetime?


у меня есть datatable, который имеет такие столбцы

orderid-time (формат dd/mm/yyyy) (Datetimecolumn)
101 - 1/12/2017 10: 10: 00
101 - 1/12/2017 02:10: 00 вечера
101 - 1/12/2017 10: 10: 00
101 - 1/12/2017 12: 10: 00 вечера
101 - 1/12/2017 06: 10: 00 вечера

из приведенной выше таблицы я хочу отсортировать столбцы времени на основе timeanddate и отдельные записи должны получиться такими

orderid - время (формат dd/mm/yyyy)
101 - 1/12/2017 10: 10: 00
101 - 1/12/2017 12: 10: 00 вечера
101 - 1/12/2017 02:10: 00 вечера
101 - 1/12/2017 06: 10: 00 вечера

Что я уже пробовал:

Я пробовал по-разному, но я могу сортировать по дате, но не по времени, как я мог это сделать?

Patrice T

Где находится база данных ? SQL Server ?
Как вы получаете данные ?

Member 11712712

SQL Server

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

2 Ответов

Рейтинг:
0

OriginalGriff

Это будет зависеть от того, что находится в столбце - Что зависит от данных, которые вы использовали, и от того, как вы их вставили. Если вы вставили строки или преобразовали данные в строки, чтобы вставить их, то это ваша проблема.
Порядок строк зависит от сравнения строк: и это заканчивается на первом встреченном различном символе, который задает результат для всего сравнения. Поэтому он не будет правильно заказывать по дате, а тем более по дате и времени. Если вместо этого вы используете значения даты и времени, то" естественный " порядок сортировки - "самый значимый первый", что означает, что он сортируется по году, затем месяцу, затем Дню, затем часу ... что именно то, что вам нужно.

Но... вы не сортируете Таблицы данных. Вместо этого вы используете DataView ( например, объект DataTable.Свойство DefaultView (System. Data)[^]) упорядочивать значения по мере их отображения, а не переупорядочивать элементы в таблице напрямую.


Рейтинг:
0

Neha Ambasta

var newColumn = Datetimecolumn.OrderBy(x => x.TimeOfDay).ToList(); 


Попробуйте это, это работает!