LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: drow on April 15, 2016, 11:15:39 am
-
В отчете должно быть 2 или 1 столбец в зависимости от переданной переменной.
Сначала хотел сделать так: прятать один столбец, а второй расширять так, чтобы он занимал и свое место и место 2-го столбца. Но что-то скрипты отказались менять размер. Может, конечно, я что-то не так делал.
Тогда сделал так: два столбца, и еще есть третий, лежащий поверх них обоих (ну или под ними). В зависимости от переменной я либо прячу столбцы 1-2, либо столбец 3. У всех 3-х стоят свойства autoHeight и stretchToMaxHeight. Так вот, когда содержимое не влазит по высоте, элемент раздвигается. Но в расчете максимальной высоты походу участвуют не только видимые, но и невидимые элементы, так что в результате получается какая-то кривизна
Во вложении шаблон отчета. Там первые 2 столбца такие, как я описал. Последние 4 просто прячутся в зависимости от настроек, так что там все работает нормально
[вложение удалено администратором]
-
Вот здесь посмотри
lrhorizontallayout.cpp
void HorizontalLayout::geometryChangedEvent(QRectF newRect, QRectF )
{
m_layoutMarker->setHeight(newRect.height());
relocateChildren();
if (m_layoutType == Table && !m_isRelocating){
divideSpace();
}
}
это строки около 100
судя по всему, если дальше по коду смотреть, то нет проверки на Видима/не видима... упущение просто. Алекс и так доброе дело делает, все не может предусмотреть, для этого мы и нужны :)
-
Поправил расчет высоты с учетом невидимых элементов. Можно забрать проверить :)
-
Ну если честно, что-то у меня все так и осталось. То ли проблема была не в этом, то ли одно из двух ;)
В приложении то, как выглядит отчет. Специально цветом выделил сами TextItem'ы. Сам шаблон отчета прикладывал к 1-му посту
[вложение удалено администратором]
-
А можно тестовые данные в sqllite загнать и в меня кинуть ?
-
См. вложение
[вложение удалено администратором]
-
Спасибо!