Форум: "Базы";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c