Поворот текста в кросс-таблице в Jasper Reports 4.5.0 - PullRequest
0 голосов
/ 17 ноября 2018

По причинам, слишком сложным, чтобы разобраться, мне нужно развернуть новый отчет на существующей установке JasperReports Server 4.5.0.Это не может быть обновлено.Я подумал, что было бы проще всего использовать iReport 4.5.0 для обеспечения совместимости с сервером.Я ошибаюсь?Было бы лучше использовать более новую версию, или перейти на Jaspersoft Studio, или что-то еще?

В отчете используется кросс-таблица со многими столбцами.Чтобы все они поместились на одной стандартной альбомной странице, мне нужно изменить поворот заголовков столбцов на вертикальный.Данные внутри самих ячеек очень короткие.Я не смог найти в iReport параметр для изменения поворота текста в заголовке, поэтому я изменил XML с:

                <crosstabColumnHeader>
                    <cellContents backcolor="#F0F8FF" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="30"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{ACTION_DESC}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabColumnHeader>

На:

                <crosstabColumnHeader>
                    <cellContents backcolor="#F0F8FF" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="30"/>
                            <textElement rotation="Left"/>
                            <textFieldExpression><![CDATA[$V{ACTION_DESC}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabColumnHeader>

(В случае, еслиВы не видите этого, я добавил rotation="Left" к textElement.)

Похоже, это не влияет на предварительный просмотр, будь то предварительный просмотр в HTML или PDF.Я видел, как другие ссылались на вращение текста в версиях, даже более старых, чем моя, поэтому я не думал, что это не поддерживается в 4.5.0.Опять я ошибаюсь?

1 Ответ

0 голосов
/ 17 ноября 2018

Можно ли использовать JaspersoftStudio ( JSS ) вместо iReport 4.5.0 ?

Да, для локального проектирования и тестирования шаблонов. Вы можете использовать режим совместимости для сохранения шаблона в формате JasperReports 4.5.0 версия.

Но я не уверен, что интеграция со старыми версиями JasperReports Server будет работать нормально на новых версиях JSS .

Поддерживает ли кросс-таблица текст с вертикальным поворотом (например, в заголовке)?

Да, определенно. Вращение поддерживается элементом textField , это не является функцией кросс-таблицы.

iReport имеет возможность изменять вращение текста. Вы можете найти свойство Вращение в Свойства текста блок.

The property for changing text orientation

Причина, с которой вы столкнулись, заключается в том, что размер textField недостаточен для отображения текста. Например, если у нас есть textField с горизонтальным текстом по умолчанию, высота которого слишком мала для отображения текста, результат визуализации будет пустым.

Вы должны просто увеличить высоту textField , чтобы решить проблему.


Примечания

Подробнее о том, как включить режим совместимости на JSS , вы можете найти здесь и здесь

...