Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.011 c
14-93663
Knight
2004-01-07 20:11
2004.01.29
Canon i250 + XP Pro


3-93340
SaperXL
2003-12-28 16:13
2004.01.29
Защита БД


3-93386
Silver_
2003-12-30 11:22
2004.01.29
FastReport - Как узнать что узер отчет распечатал


3-93404
BlackCat
2003-12-30 08:35
2004.01.29
Страное поведение MS Access....


1-93506
EvgeniyR
2004-01-19 10:20
2004.01.29
Простой компьютера




   Наверх