|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.11.2009, 17:04 | #1 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
сумма ячеек столбца-?
В столбце А DBGrid содержатся цифры. Нужно чтобы например в label1 отображалась сумма всех цифр столбца. В данном случае, как на рисунке, сумма будет равна 17. Как это сделать, и в каком событии?
|
23.11.2009, 17:09 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
В цикле просуммировать значения данного поля по всем записям НЕ ДБГРИДА, А ДАТАСЕТА (ТАБЛИЦЫ), откуда дбгрид берет данные.
Код:
|
23.11.2009, 17:10 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хм... Ну можно извратиться и посчитать сумму в OnCalcFields, создав дополнительное вычисляемое поле...
Но я лично предпочел бы запросик написать на SQL для суммирования Select sum(поле); - он вернет всего одну запись с одним полем тогда Query.Field[0].AsFloat нацеленный на этот запрос даст нужный результат. От mihali4 Дружище, тогда придется объяснять, что такое SQL, как составить запрос, как получить оттуда сумму и т.д.
I'm learning to live...
Последний раз редактировалось mihali4; 23.11.2009 в 17:15. |
23.11.2009, 17:19 | #4 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
Тут вопрос скорей, где бы лучше код написать, чтобы цикл не пробегал все время по таблице. Если в OnFormShow, это будет не заметно, но зато данные не будут обновляться при каждом изменении. А нужно чтобы сумма изменялась. Вот можно это как-то сделать без пробега цикла по таблице?
|
23.11.2009, 17:38 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А при чем тут OnFormShow???
Достаточно один обработчик с этим циклом назначить на события Table.AfterOpen и Table.AfterPost... |
23.11.2009, 18:05 | #6 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
это то верно, но когда дело доходит до Table.AfterPost, цикл пробегает по всей таблице!! и каждый раз это не очень то удобно. Нужно чтобы цикл работал незаметно. Это можно сделать?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сумма ячеек | pirat:) | Microsoft Office Excel | 6 | 25.12.2008 05:31 |
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца | Aleo13 | Помощь студентам | 5 | 15.10.2008 18:34 |
Сумма ячеек | artemavd | Общие вопросы Delphi | 11 | 24.07.2008 16:36 |
сумма столбца | zetrix | БД в Delphi | 1 | 01.11.2006 15:42 |