сложные рассчеты...

отредактировано 15:38 Раздел: FastReport 3.0
Проблема в следующем: Есть отчет, состоящий из двух страниц (максимум): хидера (пустого, для отступа сверху), данных, подвала данных и подвала страницы. (все это на каждой из страниц)
Необходимо: Если данные не вмещаются на первую страницу, то уже в коде приложения разнести их по двум query и остаток засовывать на вторую страницу, иначе вторая страница.визибл:=фолс.
Сейчас это делается след. образом: Если кол-во возвращаемых записей>40 то производить вышеуказаные действия. Но это не совсем корректно, т.к. строчки могут быть длинными и растягиваться по высоте, что приводит к полному безобразию в отчете.
Соответственно, хотелось бы например после PrepareReport узнать, вместилось ли все на первую страницу и если нет, то уменьшать кол-во записей until это все не вместится.
Пробовал суммировать у мемки с датабэнда свойство Memo.Count, но оно почему то возвращает совсем не то что нужно (в итоге). Так же экспериментировал с (суммой MasterData1.Height) -FreeSpace, но разница становится отрицательной уже после 20ти записей,что тоже странно...
Ну и к тому же так и не понял как после preparereport получить в свой код приложения результат вычислений(влезло-невлезло).
Все так сложно, потому что структура страниц очень разная и стандартными средствами этого не сделать.
Заранее большое спасибо за помощь

Комментарии

  • отредактировано 15:38
    FastReport автоматически создает вторую страницу если данные не поместились на первой.
  • отредактировано 15:38
    Мне не надо те данные которые на первой странице переносить на вторую. Мне нужно узнать, сделал ли это фаст
  • отредактировано 15:38
    Почему не подходит для решения проблемы "Если данные не вмещаются на первую страницу, то уже в коде приложения разнести их по двум query и остаток засовывать на вторую страницу" автоматическое добавление второй страницы? После этого можно узнать сколько страниц получилось для определения "сделал ли это фаст".

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.