LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: Subst on October 04, 2016, 10:20:40 am
-
Алекс, как-то давно разговор уже заходил об этом.
columnCount и columnsFillDirection в dataBand и subdetailBand ты сделал.
Я же говорил, что необходимо сделать в футерах и хидерах, ты не уловил мысль, мне было лень развивать.
Сейчас я просто правлю исходники, добавляю в SubDetailHeaderBand, SubDetailFooterBand, DataHeaderBand и DataFooterBand
эти свойства, если их там нету.
В качестве примера прилагаю 2 pdf, один с использованием неисправленных исходников (с гитхаба), второй с использованием поправленных мною исходников. Названия файлов очевидны.
Все из-за того, что я не могу указать кол-во столбцов и направление заполнения в хидерах и футерах subDetailBand. С dataBand аналогично.
Правильный файл - там я могу указать эти property, поскольку пробросил их в исходниках.
P.S. Алекс, файлы отправил почтой
-
Просто прокинуть свойства? Я не помню почему я этого не сделал :) Если у тебя все нормально работает кинь патчик я его интегрирую :)
-
Вот я просто прицепил сюда два файла поправленных. Пушни их, диффы видны будут. Я просто у себя не клонировал репозиторий, хотя может уже пора сделать это :)
[вложение удалено администратором]
[вложение удалено администратором]
-
А зачем тебе fillDirection в этих бандах?
-
Ну вот я присылал тебе pdf-ки.
Ставлю в качестве эксперимента fillDirection horizontal или без проброски свойства и получаю тот же эффект, что в incorrect.pdf.
У меня этот subdetailheaderband провоцирует уход в первый столбец.
Глубоко копать не стал, просто некогда искать причину.
Посмотрел что при настройках согласованных с самим subdetailband'ом все в порядке. Собрал так и этак несколько раз.
Результат приемлемый получил именно при вот таком варианте.
Мысль простая: хедербанд ровно как и сам банд имеют одного предка, при рендере поведение схожее. То что не пробросили свойство не означает, что этого свойства нету совсем, оно есть с установками по-умолчанию. Отсюда и поведение такое.
Поскольку.. в bandDesignIntf
m_columnsCount(1), <<<<
m_columnIndex(0),
m_columnsFillDirection(Horizontal), <<<<
-
Ок :) будет время гляну почему так получается :)
-
Аха. Но щас вобщем-то не принципиально, поскольку результат достигается.
Почему получается - вроде, очевидно.
Если направление горизонтальное и находимся во втором столбце (при их кол-ве = 2, видимо имеет значение "в последнем столбце", не проверял), то следующий банд (неважно, что это subdetail, скажем) уйдет в первый столбец следующей строки, а никак не во второй. Просто по указанию, как нужно заполнять.