Форум: "Начинающим";
Текущий архив: 2014.01.12;
Скачать: [xml.tar.bz2];
Внизсортировка в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c