Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.01.12;
Скачать: CL | DM;

Вниз

сортировка в dbgrid   Найти похожие ветки 

 
123454321   (2013-03-15 16:48) [0]

Для определенного столбца в DBGrid нужно написать свою сортировку (на клиенте). Столбец X может иметь значения вида:

aaa121
87bbb
ccc111cc

нужно выцепить из значений числа и сортировать по ним.

в данном случае должно выстроиться последовательность:

либо

aaa121
ccc111cc
87bbb

Как такое сделать?


 
Jeer ©   (2013-03-15 16:50) [1]

Сортировка делается на сервере, тем более при DBGrid.


 
turbouser ©   (2013-03-15 16:51) [2]

Добавить вычисляемое поле и сортировать по нему


 
clickmaker ©   (2013-03-15 19:03) [3]

Можно взять ClientDataSet или другой MemoryData и сортировать его


 
Юрий Зотов ©   (2013-03-16 07:49) [4]

Если проблема в том, чтобы выцепить из значений числа, то это просто. Правда, писал "на лету" и не думая, поэтому могут быть ошибки - проверьте (особенно, для Unicode). В функцию передаем строковое значение поля, а ее результат загоняем в невидимое вычисляемое поле и сортируем по нему.

const
 Digits = ["0"..."9"];

function ExtractNumber(const S: string): cardinal;
var
 i: integer;
begin
 Result := 0;
 i := 1;
 while (i <= Length(S) and not (S[i] in Digits) do
   Inc(i);  
 while (i <= Length(S) and (S[i] in Digits) do
 begin
   Result := Result * 10 + Ord(S[i]) - Ord("0");
   Inc(i)
 end
end;



Страницы: 1 вся ветка

Текущий архив: 2014.01.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1374870605
Юрий
2013-07-27 00:30
2014.01.12
С днем рождения ! 27 июля 2013 суббота


2-1363783734
Alex_C
2013-03-20 16:48
2014.01.12
TEdit+TStringGrid=странное поведение


2-1363790754
Maximqa58415
2013-03-20 18:45
2014.01.12
Delphi7(Цикл с параметром for)


2-1363351695
123454321
2013-03-15 16:48
2014.01.12
сортировка в dbgrid


15-1374239185
vrem
2013-07-19 17:06
2014.01.12
Синхронный запуск и синхронизация двух программ