Raghavendra HG Ответов: 4

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


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

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

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

Каково же будет решение проблемы

4 Ответов

Рейтинг:
1

OriginalGriff

Вам нужно обработать событие SortCommand: MSDN[^] объясняет, как - смотрите в разделе "указание пользовательской сортировки" для получения подробной информации


Raghavendra HG

Я использовал только пользовательскую сортировку. Сортировка происходит без проблем. Но сортировка строк происходит. Мне нужна целочисленная сортировка.

Рейтинг:
1

SunilChavan1

Привет!
Вы должны сначала установить свойство AllowSorting="True", а затем сгенерировать событие OnSorting="gridview_Sorting".
А затем примените сортировку по источнику данных и свяжите данные в соответствии с вашим порядком сортировки и столбцом.

И для сортировки DataView для Вы можете использовать лямбда-выражение

DataView sorted = таблица.ApplySort((r, r2) =>
{
вернуться ((инт)Р["сертификата от его закодированной формы"]).Метод compareto(((инт)Р2["сертификата от его закодированной формы"]));
});

а потом напишите класс commeon для сортировки ..
Ваше здоровье! :-Д

Спасибо!


Рейтинг:
0

Michael Waguih

Привет внушительную рт. ст.,

Убедитесь, что ваша запись в datagridview является числовыми, а не строковыми данными
Если нет, то вы должны бросить его перед заказом.

Я надеюсь, что это поможет вам,
:)


Рейтинг:
0

Raghavendra HG

Привет, спасибо вам за все ваши ответы. Я попробовал нижнюю.

ДТ.колонны.Add("SOWId", typeof(int));

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

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