Автор | Сообщение |
|
| постоянный участник
|
Пост N: 112
Зарегистрирован: 27.07.08
|
|
Отправлено: 27.12.10 19:47. Заголовок: Пользовательский формат данных - отображение одномерного массива в столбце
Задача такая: Идёт подбивка общих сумм по нескольким полям из подтаблицы. Результат выводится в главном TBROWSE. Как сделать, чтобы вместо нескольких проходов подтаблицы ради каждого поля сделать всё в один проход, чтобы суммирующая функция выдавала одномерный массив, который можно было бы выводить в несколько колонок. Число элементов массива постоянно для всего TBROWSE. А так приходится каждый раз ADD COLUMN TO oBrw; .... DATA {||fGetSum1()} ADD COLUMN TO oBrw; .... DATA {||fGetSum2()} и т.д.
|
|
|
Ответов - 4
[только новые]
|
|
|
| |
Пост N: 103
Зарегистрирован: 11.06.10
|
|
Отправлено: 27.12.10 23:33. Заголовок: А кто мешает сделать..
А кто мешает сделать сначала суммирование а потом вывод бровза: 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]} и т.д.
|
|
|
|
| постоянный участник
|
Пост N: 113
Зарегистрирован: 27.07.08
|
|
Отправлено: 28.12.10 00:57. Заголовок: Дык, потом надо пери..
Дык, потом надо периодически обновлять значения по мере ввода данных в подчинённые TBROWSE. Потому и надо функцию в DATA ставить
|
|
|
|
| |
Пост N: 104
Зарегистрирован: 11.06.10
|
|
Отправлено: 28.12.10 01:08. Заголовок: Зачем? В подчиненно..
Зачем? В подчиненном бровз field->field1 := new_value sz[1]+=new_value и т.д. потом главный бровз:refresh()
|
|
|
|
| постоянный участник
|
Пост N: 115
Зарегистрирован: 27.07.08
|
|
Отправлено: 02.01.11 19:04. Заголовок: Извините
Пошёл проверенным путём - созданием числовых полей для промежуточных сумм и их автоматического обновления. Иначе - это сплошной гемморой. Это же не SQL где без проблем SELECT SUM GROUP BY
|
|
|
|