Форум » GUI » Пользовательский формат данных - отображение одномерного массива в столбце » Ответить

Пользовательский формат данных - отображение одномерного массива в столбце

Dr. Oldwarez: Задача такая: Идёт подбивка общих сумм по нескольким полям из подтаблицы. Результат выводится в главном TBROWSE. Как сделать, чтобы вместо нескольких проходов подтаблицы ради каждого поля сделать всё в один проход, чтобы суммирующая функция выдавала одномерный массив, который можно было бы выводить в несколько колонок. Число элементов массива постоянно для всего TBROWSE. А так приходится каждый раз ADD COLUMN TO oBrw; .... DATA {||fGetSum1()} ADD COLUMN TO oBrw; .... DATA {||fGetSum2()} и т.д.

Ответов - 4

AlexMyr: А кто мешает сделать сначала суммирование а потом вывод бровза: sz:={0,0,0,..} dbgotop() dbeval(sz[1]+=field1,sz[2]+=fileld2,...) ADD COLUMN TO oBrw; .... DATA {||sz[1]} ADD COLUMN TO oBrw; .... DATA {||sz[2]} и т.д.

Dr. Oldwarez: Дык, потом надо периодически обновлять значения по мере ввода данных в подчинённые TBROWSE. Потому и надо функцию в DATA ставить

AlexMyr: Зачем? В подчиненном бровз field->field1 := new_value sz[1]+=new_value и т.д. потом главный бровз:refresh()


Dr. Oldwarez: Пошёл проверенным путём - созданием числовых полей для промежуточных сумм и их автоматического обновления. Иначе - это сплошной гемморой. Это же не SQL где без проблем SELECT SUM GROUP BY



полная версия страницы