Вниз
Скачать: CL | DM;

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

← →
mops   (2010-03-04 23:16) [0]

Здравствуйте,
у меня есть таблица (devexpress), в ней динамически создаю колонки. при клике по заголовку, для сортировки, данные в разных колонках всегда сортируются как стринг, хотя при создании колонки я указываю какой тип данных там будет. Сделал небольшую функцию, чтобы она сама определяла тип и сортировала. но что не получается :) подскажите, что

спасибо


function Compare(V1,V2: Variant): Integer;
var
 vt: Integer;
begin
 if (V2 = null) then
   begin
     Result := 1;
     Exit;
   end;
 if (V1 = null) then
   begin
     Result := -1;
     Exit;
   end;
 vt := VarType(V1) and VarTypeMask;
 case vt of
   varInteger, varDate, varDouble, varBoolean: begin
     if (V1 > V2) then Result := 1;
     if V1 = V2 then Result := 0;
     if (V1 < V2) then Result := -1;
   end;
   varUString: begin
     Result := CompareStr(String(V1), String(V2));
   end;
 end;
end;


← →
Loginov Dmitry ©   (2010-03-04 23:57) [1]


>  vt := VarType(V1) and VarTypeMask;
>  case vt of
>    varInteger, varDate, varDouble, varBoolean: begin


не смог понять я этих махинаций, ну да ладно.

Для определения типа варианта служат функции VarIsXXX. Например:
VarIsOrdinal, VarIsNull, VarIsNumeric и т.д.


← →
mops   (2010-03-05 00:08) [2]

спасибо, попробую



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

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



Память: 0.45 MB
Время: 0.048 c
15-1264591245
Galera
2010-01-27 14:20
2010.08.27
Что-то блокирует интернет


2-1270465711
Чайник
2010-04-05 15:08
2010.08.27
Возвращаемое значение ShowModal


2-1273713319
DROWSY
2010-05-13 05:15
2010.08.27
Обработка в приложении исключения, вызываемого в триггере.


3-1242826582
Trifle
2009-05-20 17:36
2010.08.27
Перекомпилить все ХП програмно


2-1270793346
Ms-R
2010-04-09 10:09
2010.08.27
арктангенс




   Наверх