Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка в ClientDataSet [D5, IB6.x]


AlexNx ©   (2004-01-06 12:37:00) 

Мастера! Как в ClientDataSet отсортировать(создать индекс) по строковому полю, но чтобы сортрровалось как по числовому. Например, если мы создадим индекс по след. значениям
1, 2, 1001, 9, 903, 9/1, 9/10, то он отсортирует в след. порядке
1, 1001, 2, 9, 903, 9/1, 9/10. Мне то все понятно, а вот бабушкам не объяснишь.
По-этому хотелось бы, чтобы отсортировалось
1, 2, 9, 903, 1001, а все нечисловые - лишь бы как.


Johnmen   (2004-01-06 12:54:00) [1]

>AlexNx (06.01.04 12:48)

Нет ! Не получается !

>Mery (06.01.04 12:48)

User Define Function


AlexNx   (2004-01-06 12:52:00) [2]

>Sandman25
Это тоже было опробовано. Но тогда ОЧЕНЬ плохо искать по первым числам(знакам) документ.


Sandman25   (2004-01-06 12:49:00) [3]

[6] AlexNx (06.01.04 12:46)

Согласен, конечно.
Вот если бы в начало чисел недостающее количество нулей добавлять, тогда бы и обычная сортировка работала.


AlexNx   (2004-01-06 12:48:00) [4]

>Johnmen
Получается, нужно загружать сеть и сервак каждый раз, когда изменяется, добавляется номер документа... Это тоже не есть гуд


Mery   (2004-01-06 12:48:00) [5]

>Johnmen © (06.01.04 12:46) [5]
>с пом. UDF

Может быть, я туплю. Но это как?


Mery   (2004-01-06 12:46:00) [6]

В таком случае, можно было бы сразу это поле сделать числовым и не мучиться, но видимо, в нем действительно еще и символы встречаются. А в таком случае, как они-то в числовой формат перейдут? Значит, это не выход.


Johnmen   (2004-01-06 12:46:00) [7]

Ещё вариант.
Сделать вычисляемое поле в таблице и формировать его с пом. UDF как душе угодно. По нему и ORDER BY.


AlexNx   (2004-01-06 12:46:00) [8]

>Sandman25
Это не есть гуд. Перегонять туды-сюды.


Sandman25   (2004-01-06 12:43:00) [9]

Сделать еще одно поле - числовое, перегнать в него данные и сортировать по нему. Не верю, что сами не могли догадаться :)


AlexNx   (2004-01-06 12:41:00) [10]

И че, неужели никак? НЕВЕРЮ :-))


Mery   (2004-01-06 12:39:00) [11]

К сожалению, никак. Сама с этим сталкивалась. Это же символ, хотя и цифра, а символ сортируется именно так.


Наверх

Титульная страница Поиск, карта сайта Написать письмо