LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: Subst on May 12, 2016, 07:21:25 pm
-
Алекс, вот возникла ситуация, когда в хидерах и футерах субдетейл бандах и дата бэндах таки нужно количество колонок и их порядок заполнения использовать.
Уже следуя традиции посмотрел код. Достаточно всего-лищь добавить property в соответсвующие классы в файлах lrdataband.h и lrsubdetailband.h. У себя то сделал конечно, предлагаю в релиз внести.
Ситуацию могу обрисовать, если нужно будет
-
Про порядок заполнения можно по подробнее?
-
Суть:
несколько субдетайлов, в два столбца. Первый заполнился до конца страницы, нужно перейти во второй столбец и заполнять его. Какой субдетайл в этот момент активный - неясно, количество элементо меняется.
У субдетайлов есть хидеры, если есть данные в субе, то есть и хидер, нет данных - нет хидера.
В существующей концепции у хидера один столбец, говорю субдетайлу заполняться вертикально, все в порядке, заполняется, страница закончилась - уходит во второй столбец. НО!! второй столбец начинает заполнять не сверху, а с места окончания хидера, которому я не могу сказать, что он тоже на пол страницы работает (2-а столбца). Поменял, прописал в наследниках свойства базового "количество столбцов" и "порядок заполнения" - все стало нормально разруливаться.
Могу отчеты прислать, если непонятно и сумбурно объяснил
-
Subst, Сухой остаток :) Добавить колонки ко всем бандам ? Порядок заполнения у сабдетейла то есть. Или я чего не понял ?
-
Сорри, что сразу не ответил, был занят.
ну вобщем да
я просто в твоих исходниках
class SubDetailHeaderBand : public BandDesignIntf
{
Q_OBJECT
Q_PROPERTY(bool printAlways READ printAlways() WRITE setPrintAlways())
>>> Q_PROPERTY(int columnsCount READ columnsCount WRITE setColumnsCount)
>>> Q_PROPERTY(BandColumnsLayoutType columnsFillDirection READ columnsFillDirection WRITE setColumnsFillDirection)
class SubDetailFooterBand : public BandDesignIntf
{
Q_OBJECT
Q_PROPERTY(bool printAlways READ printAlways() WRITE setPrintAlways())
>>> Q_PROPERTY(int columnsCount READ columnsCount WRITE setColumnsCount)
>>> Q_PROPERTY(BandColumnsLayoutType columnsFillDirection READ columnsFillDirection WRITE setColumnsFillDirection)
вот >>> - это добавил, поскольку они наследники BandDesignIntf, как и сам субДетайл, это хватило, чтоб исправить ситуацию.
>>> Q_PROPERTY(BandColumnsLayoutType columnsFillDirection READ columnsFillDirection WRITE setColumnsFillDirection) - вот это мне тоже пришлось добавить, не помню уже почему, что не билось. Какая-то причина была, просто времени прошло порядком, точно не помню уже
-
Я вспомнил почему футер не разбивается на колонки :) все дело в групповых функциях. Если футер разбивается на колонки то логично предположить, что итоговая функция будет считать значения столбца, а у меня данный функционал не реализован
-
Понятно, но я то там и не использую ф-ии. Я в какой-то теме писал, что мне приходится запросами считать и передавать в переменные такие данные. Поскольку как правило там по стандарту заполнения форма такая:
того-то - столько то-то
в том числе:
---- столько
---- столько
---- столько
а вот кол-во столбцов два.
форма - гос. образца, менять нельзя :) вот мне и пришлось по коду полазить