powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / добавление строк в dbgrid
25 сообщений из 50, страница 2 из 2
добавление строк в dbgrid
    #39782062
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, по-моему, вас не в ту степь понесло!!!
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782240
Уважаемый автор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaРебят, по-моему, вас не в ту степь понесло!!!
Весна! Жениться хотят!
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782242
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaРебят, по-моему, вас не в ту степь понесло!!!
Екатерина! - нас, таки да, - вне всякого мнения, понесло.))
Но хоть что-нибудь, в результате, получилось или нет?
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782244
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай, - я про дело, а не про борщ.))
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782248
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FНо хоть что-нибудь, в результате, получилось или нет?
Неужели правда интересно?
А если бы подпись была не "Екатерина", а, скажем, "Укладчик шпал" - все равно бы интересовался?
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782252
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterina,

Хотя, если кто-нибудь из присутствующих сударынь-разработчиков поставит на вид, что борщ нам всем
не менее важен, чем алгоритмы, я покорно сниму шляпу.))
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782255
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл Эра,

Я как раз не на имя смотрю, а на неофита, на которого вы по привычке (не все), не взирая на пол,
вдруг набросились. Освежи, к слову, на вики по слову "снобизм".
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782339
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad F,

да, все получилось. использовала union all.
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782420
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.03.2019 9:17, TsYekaterina пишет:
> использовала union all.

не верю! (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782448
TsYekaterina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

не удивлена. Ваше право!
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782476
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий05.03.2019 9:17, TsYekaterina пишет:
> использовала union all.

не верю! (С)
брось, это не тот случай :)
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782676
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийнекошерно.
UNION ALL тут нужен.
но без программиста, имхо, не обойтись.Научи как написать UNION ALL для произвольного интервала дат с итогом после окончания каждого календарного месяца
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782709
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, задача - полуавтоматические промежуточные totals в dbgrid
Довольно любопытно.

YuRockЕсли уж дело принципа, то замени TDBGrid на TStringGrid,

Я ожидал, что Virtual Tree View предложат, но так даже брутальнее

Ну - либо DevExpress, там наверняка уже всё есть
http://www.sql.ru/forum/1242854/cxgrid-kak-sdelat-promezhutochnye-itogi

и заполняй его в цикле while not Eof

....и попадаем на табличку размером гигабайт десять.
Полчаса программа тупо висит, потом падает из-за нехватки памяти.
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782710
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
альзо http://www.delphimaster.net/view/3-1116581962

но CDS тут будет почти как ручной цикл, только сложнее
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782712
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Научи как написать UNION ALL для произвольного интервала дат с итогом после окончания каждого календарного месяцаКен Хендриксон поможет.
http://mirknig.su/knigi/programming/52523-professionalnoe-rukovodstvo-po-transact-sql.html
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782719
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch....и попадаем на табличку размером гигабайт десять.
Полчаса программа тупо висит, потомОй, ну не мелочись:)
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39782720
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsYekaterinaда, все получилось. использовала union all.
Катерина, а покажи, действительно результирующий запрос, хотя бы схематично.
(видишь, парни все еще хвосты пушат)))
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39783284
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Мимопроходящийнекошерно.
UNION ALL тут нужен.
но без программиста, имхо, не обойтись.Научи как написать UNION ALL для произвольного интервала дат с итогом после окончания каждого календарного месяца
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with data as
(
select 1 s,  {d '2017-01-01'} d union all
select 2 s,  {d '2017-01-15'} d union all
select 2 s,  {d '2017-01-21'} d union all
select -3 s, {d '2017-02-01'} d union all
select 1 s,  {d '2017-03-15'} d
)
select N'док' txt, data.*
 from data
union all
select N'сальдо на '+cast(eoMONTH(d) as varchar(20)) txt,
       sum(sum(s)) over(order by eoMONTH(d)),
       eoMONTH(d)
 from data
 group by eoMONTH(d)
 order by d, txt

txtsdдок12017-01-01 00:00:00.000док22017-01-15 00:00:00.000док22017-01-21 00:00:00.000сальдо на 2017-01-3152017-01-31 00:00:00.000док-32017-02-01 00:00:00.000сальдо на 2017-02-2822017-02-28 00:00:00.000док12017-03-15 00:00:00.000сальдо на 2017-03-3132017-03-31 00:00:00.000
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39793382
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотрите в сторону EhLib. В TDbGridEh есть режим работы с группами (DataGrouping).
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39793416
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
istrebitelСмотрите в сторону EhLib. В TDbGridEh есть режим работы с группами (DataGrouping).а там есть итоги с нарастанием?
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39795470
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Применение нестандартных алгоритмов для подсчета агрегированных значений.
В режиме группировки данных грид позволяет рассчитывать значение элементов footer’а через события. Это позволяет реализовывать функции агрегации любого уровня сложности. Для каждой записи DataSet’а вызывается событие OnDataGroupFooterAggregateValue, в котором необходимо рассчитать текущее значение агрегированного значения с учетом вызова события для каждой записи DataSet’а. Например, для функции суммирования необходимо прибавить текущее значение поля к счетчику суммы:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
procedure TfrMailBox.DBGridEh1Columns5DataGroupFooterAggregateValue(
  Grid: TCustomDBGridEh; Column: TColumnEh;
  GroupFooter: TGridDataGroupFooterEh;
  FooterColumnItem: TGridDataGroupFooterColumnItemEh; var AValue: Variant;
  Node: TGroupDataTreeNodeEh; var Processed: Boolean);
begin
  if VarIsEmpty(AValue) then
  begin
    AValue := VarArrayCreate([0,1], varInteger);
    AValue[0] := 0;
    AValue[1] := 0;
  end;
  if MemTableEh1post_read.AsInteger = 1
    then AValue[0] := AValue[0] + 1
    else AValue[1] := AValue[1] + 1;
  Processed := True;
end;


После всех вызовов события OnDataGroupFooterAggregateValue для каждой записи DataSet’а, процесс вызывает событие окончательного расчета агрегированного значения - ColumnEh.OnDataGroupFooterFinalizeValue. Если реализуемая функция требует заключительного шага для расчета значения, то это можно сделать в этом событии.

Например, для функции расчета среднего значения на шаге заключительного расчета необходимо разделить сумму значений на количество записей - SumValue / RecordsCount.
Для реализации этой функциональности необходимо в переменной расчета хранить два значения: Сумму и Количество записей. Для этого в переменной AValue: Variant можно завести массив из двух значений, а в функции окончательного расчета, делить первый элемент массива (Сумму) на второй элемент (Количество).

При выводе значения ячейки footer’а на экран вызывается событие преобразования значения в текстовое представление OnDataGroupFooterToDisplayText.
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39795768
WFcorp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
istrebitelСмотрите в сторону EhLib. В TDbGridEh есть режим работы с группами (DataGrouping).
Поддержу данное направление. Можно сделать там связку SQL-DataProvider-MemTable-Grid и настроить группировку. Работает достаточно быстро. (и красиво)
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39795928
figli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cxGrid - поле с годом - группировка и итоги по этому полю
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39795960
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
селектом намного проще
и его отладить легче - все данные в однем месте - девелопепром выполнил, увидел результат

конечно, там, где его написание допустимо
...
Рейтинг: 0 / 0
добавление строк в dbgrid
    #39795961
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxселектом намного проще
и его отладить легче - все данные в однем месте - девелопепром выполнил, увидел результат

конечно, там, где его написание допустимонапишите код, который реализует функционал моего селекта
21826833
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / добавление строк в dbgrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]