Показать сообщение отдельно
  #8  
Старый 27.09.2013, 16:36
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Я бы посоветовал бы не напрягаться.
1. Для подсчета произведения можно спокойно использовать вычисляемое поле (calcField), т.к. это значение ВСЕГДА можно вычислить, если оно понадобится (вспоминаем принципы проектирования БД - не надо хранить в базе то, что всегда можно вычислить).
2. Для подсчета суммы "на лету" можно либо воспользоваться готовым гридом, который это умеет (например, от DevExpress, вроде EhLib'овсеий тоже умеет), либо написать свой код (тут фокус в том, что надо запомнить текущую позицию курсора, отключить визуальную часть компонентов /там метод спец. есть/, пробежаться по датасету вычисляя сумму, потом вернуться на запомненную строчку и обратно подключить визуальную часть. Это будет работать быстро даже для большого кол-ва записей).
Ответить с цитированием