Вниз
Скачать: 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.057 c
15-1265188639
12
2010-02-03 12:17
2010.08.27
Тем, кто работал с Oracle и MSSQL. C чем Вам удобнее показалось?


2-1268198078
Б
2010-03-10 08:14
2010.08.27
HBITMAP -> Pointer


3-1239773025
Spot
2009-04-15 09:23
2010.08.27
Interbase через BDE


15-1265367565
unmazable
2010-02-05 13:59
2010.08.27
Создание интерпритатора(компилятора)


2-1268719836
zergost
2010-03-16 09:10
2010.08.27
Очистка параметров ADOQuery




   Наверх