Как отсортировать представление сетки, столбец которого содержит целые числа

Я сортирую сетку, используя свойство «Сортировка» DataView. Я передаю выражение сортировки и порядок сортировки сетки (ASC или DESC). Но проблема в том, что поскольку в столбце, по которому я сортирую сетку, перечислены целые числа, сортировка происходит так, как если бы это была строка. Но мне нужна целочисленная сортировка, а не сортировка строк в этом столбце.

Сетка отображается ниже в порядке возрастания (сортировка строк) 55 77 8

Но мне нужно, чтобы столбцы отображались так (целочисленная сортировка) 8 55 77

Каким будет решение.


person user621280    schedule 17.02.2011    source источник
comment
Вы можете добавить свой текущий код к своему вопросу? это помогает нам предоставлять более подходящее решение.   -  person Bazzz    schedule 17.02.2011
comment
if (hdnSortDirection.Value == ASC) { dt.DefaultView.Sort = e.SortExpression + DESC; //dv.Sort = e.SortExpression + DESC; hdnSortDirection.Value = DESC; } else { dt.DefaultView.Sort = e.SortExpression + ASC; //dv.Sort = e.SortExpression + ASC; hdnSortDirection.Value = ASC; } gvSOW.DataSource = DT; gvSOW.DataBind();   -  person user621280    schedule 17.02.2011


Ответы (2)


Я пробовал ниже.

dt.Columns.Add("SOWId", typeof(int));

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

Это решило проблему... :)

person user621280    schedule 17.02.2011

В столбце BoundField вашего DataGrid установите для DataFormatString значение:

DataFormatString="{0:D}"

Это сообщит этому столбцу, что все ячейки содержат целые числа, и поэтому сортировка будет работать правильно, как вам нужно.

См. свойство BoundField.DataFormatString. для списка свойств, которые вы можете назначить BoundField как.

person Justin Clarke    schedule 06.05.2011