Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизОбщая сумма в DBGrid колонке Найти похожие ветки
← →
dron-s © (2004-12-21 20:26) [0]Мастера, помогите решить вопрос: как сосчитать общую сумму одной колонки в DBGrid"е?
← →
sniknik © (2004-12-21 21:11) [1]она тебе не нужна (ничего не отражает).
ну скажи зачем тебе сумма из 20 видимых строк из пары сотен всего имеющихся (к примеру).
← →
dron-s © (2004-12-21 21:28) [2]У меня такая ситуация, у меня идёт подсчёт за каждую позицию(вместе с процентами, налогами и т.д), а в конце мне надо состичать общую сумму всего товара. Как это сделать?
← →
PEAKTOP © (2004-12-22 00:22) [3]Не мучаться, а поставить DBGridEh Димы Большакова.
http://ehlib.com/rus/
← →
dron-s © (2004-12-22 18:45) [4]
> Не мучаться, а поставить DBGridEh Димы Большакова.
>
> http://ehlib.com/rus/
И что измениться, что он начнёт сам считать?
← →
Zacho © (2004-12-22 19:45) [5]dron-s © (22.12.04 18:45) [4]
А посмотреть ? TDBGridEh действительно такое может "сам", без написания какого-либо кода. И ещё много чего может.
Ну если ты принципмально не хочешь сторонних компонент, то считай суммы запросом SELECT MAX(..) .. или в цикле по набору данных.
← →
dron-s © (2004-12-22 21:22) [6]Как он начинает считать, какие опции надо включить чтобы он начал считать?
← →
Skyle © (2004-12-22 21:38) [7]> dron-s © (22.12.04 21:22) [6]
Не ленись и возьми обычный TDBgrid для отображения.
Просто скажи своему DataSet"у например в OnCalcFields, чтобы он всё пересчитал....
← →
Zacho © (2004-12-22 21:58) [8]dron-s © (22.12.04 21:22) [6]
В комплекте EhLib есть примеры. Посмотри, там это есть. И в хелпе тоже есть.
Обрати внимание на всё, связанное с footer и SumList
> Просто скажи своему DataSet"у например в OnCalcFields,
> чтобы он всё пересчитал....
Что-то я не понял, как OnCalcFields поможет для расчёта суммы по всем записям DataSet"а :)
Имхо ему нужно именно что-то типа футера. Или просто эту сумму выводить в какой-нибудь лейбл или статусбар и т.п.
← →
dron-s © (2004-12-22 22:15) [9]Просто отображать общуюю сумму лейбл
← →
dron-s © (2004-12-22 22:34) [10]
> Просто скажи своему DataSet"у например в OnCalcFields, чтобы
> он всё пересчитал....
Как ему это сказать!!
← →
Kabaev Sergey © (2004-12-24 10:31) [11]Можно использовать в качестве DataSet компонент TClientDataSet. У него есть агрегаты - есть возможность считать любые итоговые поля. А потом показывать значения в TLabel, как советовали.
Но это громоздкий вариант. Если нет запрета на использование сторонних компонент, то действительно проще взять TDBGridEh
← →
msguns © (2004-12-24 12:22) [12]И все-таки не могу объяснить упорное "а где мне взять такую сетку ?" ничем иным, как банальной ленью.
Вот имеем запрос на отображение некоего датасета, назовем это "основой запрос" (ОЗ). Требуется по некоторым колонкам получить сумму (или кол-во, т.е. некий агрегат).
ОЗ состоит из нескольких частей: SELECT, WHERE (JOIN) и ORDER BY
Построим второй запрос, который заменяет SELECT ОЗ на перечень агрегатов: SUM(<Field1>),COUNT(<Field2>),MAX(<Field2>),..
Выполнение этого запроса засовываем в процу, которую "дергаем", например, по событию AfterOpen основного запроса. В этой же проце присваиваем значения соответствующим объектам отображения агрегатов..
Ну ведь абсолютно ничего сложного ! Ну разве если основной запрос не статический..
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.081 c