ASP.NET GridView не удается отсортировать дату, переданную в виде строки - PullRequest
0 голосов
/ 29 января 2012

Привет, я создаю сайт, который имеет сетку с AutoGenerateColumns = True, проблема, с которой я сталкиваюсь, это условие сортировки с использованием просмотра данных, например, работает неправильно. Если у меня есть следующие записи, уже отображаемые в сетке:

  • Имя Адрес Дата (ММ / ДД / ГГГГ)
  • Хулио XYZ Австралия 12/25/2010
  • Дэвид 1234 Новая Зеландия, 12/26/2010
  • Erika 5555 Сингапур 12/14/2011

Если я делаю сортировку таким образом:

Dim dt As DataTable = Me.GetDataTable(Me.GetQuery(Sentence, params))
Dim dv As DataView = dt.DefaultView
dv.Sort = SortExpression & " " & SortDirection
gv.DataSource = dv
gv.DataBind()

Результат в сетке:

  • Имя Адрес Дата (ММ / ДД / ГГГГ)

  • Erika 5555 Сингапур 14.12.2011

  • Хулио XYZ, Австралия, 12.12.2010
  • Дэвид 1234 Новая Зеландия, 12/26/2010

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

Значения для SortExpression - это ColumnName для Date, который в источнике данных является CallDate, а значение SorDirection - ASC

Me.GetDataTable (Me.GetQuery (Sentence, paramas)) - это просто способ заполнения таблицы данных записями из базы данных.

Другое дело, к сожалению, я не могу изменить формат Даты, потому что это бизнес-требование, предъявляемое таким образом, также я не могу использовать сторонние элементы управления, потому что бюджет проекта. : - (

Спасибо за любую идею заранее.

1 Ответ

0 голосов
/ 10 февраля 2012

Сначала я хочу подтвердить, что если Дата относится к типу DateTime, если да,

, попробуйте выполнить выборку, как показано ниже, надеюсь, это поможет вам.

                Dim dt As DataTable = Me.GetDataTable(Me.GetQuery(Sentence, params))
                dt.DefaultView.Sort = "Date ASC" ''Sort with Asc.
                gv.DataSource = dt
                gv.DataBind()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...