Модераторы: alexs, Модераторы
begin
case FValueType of
fvtSum:
if F.DataSet.RecordCount = 0 then
begin
{ if not F.IsNull then
FTestValue := FTestValue - F.AsFloat;}
{ TODO -oalexs : need rewrite this code - where difficult! }
end
else
begin
if not F.IsNull then begin //добавленная проверка
if F.OldValue <> null then
FTestValue := FTestValue + Float(F.OldValue);
if not F.IsNull then
FTestValue := FTestValue - F.AsFloat;
end;
end;
fvtMax:
if (F.DataSet.RecordCount <> 0) and (F.OldValue <> null) then
FTestValue := Max(FTestValue, Float(F.OldValue));
fvtMin:
if (F.DataSet.RecordCount <> 0) and (F.OldValue <> null) then
FTestValue := Min(FTestValue, Float(F.OldValue));
end;
end;
Но в последних комитах я убрал из TRxDBGrid.UpdateActive пересчёт итогов. Сейчас этот метод грида изменяется на каждое изменение положения курсора в наборе данных. Получается лишние вызовы и глюки при движению по гриду, содержимое которого превышает размер самого грида.
Ещё не придумал как обойти...
ronin писал(а):1. как можно посодействовать?
alexs писал(а):
Sum2:=RxDBGrid8.ColumnByFieldName('sum_delta').Footer.NumericValue;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3