Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.29;
Скачать: CL | DM;

Вниз

DBGridEh.SumList   Найти похожие ветки 

 
Andriy Tysh ©   (2003-12-30 11:16) [0]

Есть DBGridEh на ClientDataSet"е. В гриде есть футер по калькулитивному полю Suma. В ClientDataSet на OnCalcFields исчисляется Suma. Оно исчесляется в зависимости от общей площади, и эта зависимость задает результат для каждого значения Суммы. Но по окончанию редактирования записи, футер показывает неверное число. Тоесть подсчитывает плохо.

В чём проблема? Может подсчёт футера быстрее происходит чем "калькуляция" полей в Клиенте? И как этого избежать?


 
Johnmen ©   (2003-12-30 11:23) [1]

SumList.RecalcAll;


 
Hooch ©   (2003-12-30 11:24) [2]

что значит "по окончании редактирования" ? Запись то постится, пока Post не сделается футеры не пересчитаются


 
Andriy Tysh ©   (2003-12-30 11:33) [3]


> Johnmen © (30.12.03 11:23) [1]

Делал - не помогает. Актив:=Фалсе; Актив:=Тру. Тоже делал.

> Hooch © (30.12.03 11:24) [2]

Согласен, но ставлю на АфтерПост - SumList.RecalcAll; - ему до фени.
Вед должен бы был перещитать принудительно все поля, но...
Может только у меня, но примочек крутых я не делал!


 
Johnmen ©   (2003-12-30 11:36) [4]

>Andriy Tysh ©

По какому полю сумма ? И показывается ли она в отсутствии редактирования ?


 
Andriy Tysh ©   (2003-12-30 11:40) [5]


> Johnmen © (30.12.03 11:36) [4]
По какому полю сумма ?

по калькулитивному полю Suma типа ftFloat

> И показывается ли она в отсутствии редактирования ?

да, в футере


 
Johnmen ©   (2003-12-30 11:50) [6]

Последний вопрос. Как был задан футер с суммой ?


 
Hooch ©   (2003-12-30 11:50) [7]

странно, у меня без всяких RecalcAll работает. Ты точно по Enter запись постиш ?


 
Andriy Tysh ©   (2003-12-30 12:51) [8]


> Johnmen © (30.12.03 11:50) [6]

Нет сети к моему компу, то попробую приблезительно описать.
У колонки, которая отображает поле Suma в свойстве Footer изменил лиш два свойства Field и тип(не помню название этого значения точно), но поставил Суммировать(там есть статик текст, ноу, коунт и т.д.). Вот и все. Потом делается калькуляция. Но видимо она позже идет, чем исчисление общей суммы.


> Hooch © (30.12.03 11:50) [7]
> странно, у меня без всяких RecalcAll работает. Ты точно
> по Enter запись постиш ?

Вообщето да. Я как бросил Грид, так кроме внешнего вида ничего не менял. Но если я случайно это сделал, то подскажите "что я сделал", ибо не запомнил!


 
Johnmen ©   (2003-12-30 12:55) [9]

>Andriy Tysh © (30.12.03 12:51)

Всё вроде бы верно...Если учесть, что и SumList.Active True


 
Andriy Tysh ©   (2003-12-30 13:13) [10]


> Всё вроде бы верно...Если учесть, что и SumList.Active True

True точно! А VirtualRecord и ExternalRecalc = False.


 
Andriy Tysh ©   (2003-12-30 14:54) [11]

Ставлю перещёт руками на АфтерПост клыента - всё нормально.
А если там же ставить SumList.RecalcAll - ноль реакции.

Прикол в том, что есть ещё две суммы по полях Kilk и Square, то они чётко общитываются. Это и понятно! А эта нет.

Ещё, на OnCalcFields стоит присвоение значений полю Suma, напр.,

FieldByName("Suma").AsFloat:=ifthen(Общая площадь < 20, 30,
ifthen(Общая площадь < 30, 28))

Такий вложений проверок условий 5. Может тут собака зарыта?



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

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
9-93317
inc-viz
2003-07-13 14:15
2004.01.29
Delphix - вывод спрайтов


1-93431
oleg
2004-01-15 09:55
2004.01.29
JavaScript и Delphi


1-93484
race1
2004-01-15 17:05
2004.01.29
canvas.textrect


1-93514
Kinderrr
2004-01-18 21:57
2004.01.29
Класс для работы со скинами WinAmp


14-93683
sancho
2004-01-01 21:39
2004.01.29
А что будет если ...