Дата столбца пользовательской сортировки DataGridView .net

#c# #.net #vb.net #visual-studio #datagridview

#c# #.net #vb.net #visual-studio #datagridview

Вопрос:

Пожалуйста, взгляните на эти столбцы, которые содержат определенную дату (которая не основана на международном уровне):

Tanggal Buat amp; Tanggal Lahir

Обычная сортировка (по умолчанию) работает с основной проблемой, такой как неправильно упорядоченные по дате заказы.

Кто-нибудь может дать подсказку для решения этого текущего случая?

Я поискал в этой теме, но нашел только 2, специально для обычного возрастания и убывания (числовые / строковые значения). есть какие-нибудь подсказки?

Примечание:

1) Все мои строки данных добавляются вручную, поэтому это не источник данных синхронизации с БД.

способ, который я добавил, заключается в следующем исходном коде:

Добавлено вручную в DataGridView

Комментарии:

1. Вы добавляете значения даты как Date объект или как String object? Я думаю, что они могут быть добавлены как Date объекты, а затем отформатированы для отображения так, как вы хотите. Затем сортировка должна работать должным образом.

2. нет, значение является объектом String.

3. Можно ли преобразовать строки в даты перед добавлением в DataGridView? Это немедленно решило бы вашу проблему

4. НИКОГДА, НИКОГДА не храните даты в виде текста. Данные должны быть двоичными датами, т.е. вводиться DateTime в VB, а затем форматироваться по желанию сетки путем установки DefaultCellStyle.Format этого столбца. Когда данные отсортированы, они будут отсортированы по фактическим значениям, а не по тому, что отображается в ячейках. Если есть проблема с сортировкой, это потому, что вы испортили данные.

5. @gumuruh судя по снимку экрана, вы все еще меняете DateTime объект на String . Вам следует изменить объявление вашего массива на Dim row As Object() = New Object() {...}