Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
7 / 7 / 5
Регистрация: 01.01.2012
Сообщений: 111

Настройка футера в EhLib

11.03.2013, 16:21. Показов 4873. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Имеется следующая таблица (скриншот прилагается). Необходимо вывести в футер сумму по строкам в соответствии с валютой.
Т.е. для RUR (приход | кол-во) это 71, для сумм аналогично и т.д.
Реально ли так сделать?
Миниатюры
Настройка футера в EhLib  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.03.2013, 16:21
Ответы с готовыми решениями:

Ehlib
подскажите че за ошибка при установки библиотеки Ehlib SQLConnEdEh.pas(110) Error: Undeclared identifier: 'cbConnectionName' ...

Ehlib
Здравтвуйте подскажите кто сталкивался. Не могу установить этот компанент, выдает сообщение: что может это быть?

Ehlib
Скажите у кого есть хорошая рабочая версия не ниже 5,2

4
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
12.03.2013, 13:17
В похожей ситуации я выкрутился следующим образом:
- SumList не активируется;
- FooterRowCount = 3 (т.к. тоже было три строки в подвале);
- в каждом элементе Footers нужной для суммирования колонке указывается только FieldName (в каждом одно и то же);
Больше ничего со списком футера колонки не делаем.

Далее создается процедура обработки события OnGetFooterParams, где через SQL запросы выясняются суммы по каждому признаку и вставляются в нужные ячейки подвала.
Примерно так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.DBGridEh1GetFooterParams(Sender: TObject; DataCol,
  Row: Integer; Column: TColumnEh; AFont: TFont; var Background: TColor;
  var Alignment: TAlignment; State: TGridDrawState; var Text: String);
var
  S : string;
begin
  if Column.FieldName = 'num' then begin  //имя колонки, в которой отображаются суммы
    S := 'select SUM(Num) as sm from Table where flag = ';
    case Row of       //номер запрашиваемой для футера строки (параметр в процедуре)
      0 : S := S + '1';  //'1', '2', '3' - признаки, по которым фильтруются строки
      1 : S := S + '2';  //для суммирования; это может быть и наименования валют 
      2 : S := S + '3';
    end;
    ADOQuery1.SQL.Text := S;
    ADOQuery1.Open;
    Text := ADOQuery1['sm'];
  end;
end;
1
7 / 7 / 5
Регистрация: 01.01.2012
Сообщений: 111
13.03.2013, 14:04  [ТС]
Скандербег, в итоге сделал примерно так же Считаю отдельно SQL запросами, потом заношу в футер.
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
13.03.2013, 14:44
В этом способе (других не знаю) есть некоторая засада.
Если выборка фильтруется (не все записи должны отображаться в гриде), то и в запросе, подсчитывающем сумму нужно учитывать (добавлять) общие условия фильтрации.
При учете этого обстоятельства ничего плохого не происходит.
0
7 / 7 / 5
Регистрация: 01.01.2012
Сообщений: 111
13.03.2013, 15:14  [ТС]
Скандербег, ну это да В данном случае проще, потому что никаких действии с набором данных не производится после выборки.
Собственно вопрос изначально возник потому, что в ходе прочтения документации по ehlib было найдено интересное событие OnDataGroupFooterAggregateValue, которое срабатывает для каждой записи DataSet'a. Правда я так и не понял как им воспользоваться, даже просто написав ShowMessage в обработчике, никаких сообщений не увидел, хотя по идеи должно было вылезти n-ое количество раз на каждую строку в таблице
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2013, 15:14
Помогаю со студенческими работами здесь

EhLib
Здраствуйте, может кто подскажет как сделать как на скрине. Компонент DBGridEh.

Ошибка с ehlib
Все делаю по инструкции https://www.cyberforum.ru/post3652903.html Но вылетает такая ошибка на последнем этапе . В чем причина? как...

EhLib фильтрация
EhLib 6.2 , средствами библиотеки добавлена фильтрация для двух lookup полей, при выборе значений фильтра для двух полей отдельно, или по...

Библиотека Ehlib
Здравствуйте! Не подскажите где можно скачать бесплатно библиотеку Ehlib и как ее установить. У меня установлен Delphi 7.

Установка EhLib библиотеки
Здравствуйте! Стоит RAD Studio 10.2 Пытаюсь установить библиотеку EhLibXE10 В файле readme.txt написано следующее 1.Buid And...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Сем CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru