![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGridEh.SumList [D6, D7, MSSQL]
Andriy Tysh © (2003-12-30 11:16:00)
Есть DBGridEh на ClientDataSet"е. В гриде есть футер по калькулитивному полю Suma. В ClientDataSet на OnCalcFields исчисляется Suma. Оно исчесляется в зависимости от общей площади, и эта зависимость задает результат для каждого значения Суммы. Но по окончанию редактирования записи, футер показывает неверное число. Тоесть подсчитывает плохо.
В чём проблема? Может подсчёт футера быстрее происходит чем "калькуляция" полей в Клиенте? И как этого избежать?
Andriy Tysh (2003-12-30 14:54:00) [1]
Ставлю перещёт руками на АфтерПост клыента - всё нормально.
А если там же ставить SumList.RecalcAll - ноль реакции.
Прикол в том, что есть ещё две суммы по полях Kilk и Square, то они чётко общитываются. Это и понятно! А эта нет.
Ещё, на OnCalcFields стоит присвоение значений полю Suma, напр.,
FieldByName("Suma").AsFloat:=ifthen(Общая площадь < 20, 30,
ifthen(Общая площадь < 30, 28))
Такий вложений проверок условий 5. Может тут собака зарыта?
Andriy Tysh (2003-12-30 13:13:00) [2]
> Всё вроде бы верно...Если учесть, что и SumList.Active True
True точно! А VirtualRecord и ExternalRecalc = False.
Johnmen (2003-12-30 12:55:00) [3]
>Andriy Tysh © (30.12.03 12:51)
Всё вроде бы верно...Если учесть, что и SumList.Active True
Andriy Tysh (2003-12-30 12:51:00) [4]
> Johnmen © (30.12.03 11:50) [6]
Нет сети к моему компу, то попробую приблезительно описать.
У колонки, которая отображает поле Suma в свойстве Footer изменил лиш два свойства Field и тип(не помню название этого значения точно), но поставил Суммировать(там есть статик текст, ноу, коунт и т.д.). Вот и все. Потом делается калькуляция. Но видимо она позже идет, чем исчисление общей суммы.
> Hooch © (30.12.03 11:50) [7]
> странно, у меня без всяких RecalcAll работает. Ты точно
> по Enter запись постиш ?
Вообщето да. Я как бросил Грид, так кроме внешнего вида ничего не менял. Но если я случайно это сделал, то подскажите "что я сделал", ибо не запомнил!
Johnmen (2003-12-30 11:50:00) [5]
Последний вопрос. Как был задан футер с суммой ?
Hooch (2003-12-30 11:50:00) [6]
странно, у меня без всяких RecalcAll работает. Ты точно по Enter запись постиш ?
Andriy Tysh (2003-12-30 11:40:00) [7]
> Johnmen © (30.12.03 11:36) [4]
По какому полю сумма ?
по калькулитивному полю Suma типа ftFloat
> И показывается ли она в отсутствии редактирования ?
да, в футере
Johnmen (2003-12-30 11:36:00) [8]
>Andriy Tysh ©
По какому полю сумма ? И показывается ли она в отсутствии редактирования ?
Andriy Tysh (2003-12-30 11:33:00) [9]
> Johnmen © (30.12.03 11:23) [1]
Делал - не помогает. Актив:=Фалсе; Актив:=Тру. Тоже делал.
> Hooch © (30.12.03 11:24) [2]
Согласен, но ставлю на АфтерПост - SumList.RecalcAll; - ему до фени.
Вед должен бы был перещитать принудительно все поля, но...
Может только у меня, но примочек крутых я не делал!
Hooch (2003-12-30 11:24:00) [10]
что значит "по окончании редактирования" ? Запись то постится, пока Post не сделается футеры не пересчитаются
Johnmen (2003-12-30 11:23:00) [11]
SumList.RecalcAll;