#c# #.net #vb.net #visual-studio #datagridview
#c# #.net #vb.net #visual-studio #datagridview
Вопрос:
Пожалуйста, взгляните на эти столбцы, которые содержат определенную дату (которая не основана на международном уровне):
Обычная сортировка (по умолчанию) работает с основной проблемой, такой как неправильно упорядоченные по дате заказы.
Кто-нибудь может дать подсказку для решения этого текущего случая?
Я поискал в этой теме, но нашел только 2, специально для обычного возрастания и убывания (числовые / строковые значения). есть какие-нибудь подсказки?
Примечание:
1) Все мои строки данных добавляются вручную, поэтому это не источник данных синхронизации с БД.
способ, который я добавил, заключается в следующем исходном коде:
Комментарии:
1. Вы добавляете значения даты как
Date
объект или какString
object? Я думаю, что они могут быть добавлены какDate
объекты, а затем отформатированы для отображения так, как вы хотите. Затем сортировка должна работать должным образом.2. нет, значение является объектом String.
3. Можно ли преобразовать строки в даты перед добавлением в DataGridView? Это немедленно решило бы вашу проблему
4. НИКОГДА, НИКОГДА не храните даты в виде текста. Данные должны быть двоичными датами, т.е. вводиться
DateTime
в VB, а затем форматироваться по желанию сетки путем установкиDefaultCellStyle.Format
этого столбца. Когда данные отсортированы, они будут отсортированы по фактическим значениям, а не по тому, что отображается в ячейках. Если есть проблема с сортировкой, это потому, что вы испортили данные.5. @gumuruh судя по снимку экрана, вы все еще меняете
DateTime
объект наString
. Вам следует изменить объявление вашего массива наDim row As Object() = New Object() {...}