Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.003 c
15-1374130909
Error-Code-0xDEADBEEF
2013-07-18 11:01
2014.01.12
Изучение английского языка


1-1320399017
Lucky
2011-11-04 12:30
2014.01.12
не компилируется любой проект под Delphi в RAD Studio XE2


15-1374697802
Юрий
2013-07-25 00:30
2014.01.12
С днем рождения ! 25 июля 2013 четверг


15-1374957003
Юрий
2013-07-28 00:30
2014.01.12
С днем рождения ! 28 июля 2013 воскресенье


11-1249205119
DevilDevil
2009-08-02 13:25
2014.01.12
SelLength для ComboBox




   Наверх