Как добавить несколько изображений из базы данных в отчет «подробно»? - PullRequest
0 голосов
/ 21 сентября 2011

Я создаю отчет в iReport, чтобы я мог генерировать PDF-файлы из моих данных в БД. Наряду с моим полем «описание» у меня есть несколько изображений, которые я хотел бы отобразить в полосе детализации. Количество фотографий зависит от точного отчета, для которого я создаю PDF. Каков наилучший подход для отображения этих изображений? Я бы хотел, чтобы они отображались одна под другой с соответствующими надписями. Имя файла / местоположения хранятся в таблице «рисунки» вместе с подписями. Я полагаю, мне нужен подотчет?

1 Ответ

0 голосов
/ 22 сентября 2011

Вы можете использовать imageExpression свойство для управления ЧТО изображение для отображения. Например:

        <parameter name="whatImageToShow" class="java.lang.Integer" isForPrompting="true">
            <defaultValueExpression><![CDATA[Integer.valueOf(1)]]></defaultValueExpression>
        </parameter>
        ...
        <image>
            <reportElement x="0" y="296" width="270" height="65"/>
            <imageExpression><![CDATA[$P{whatImageToShow}.intValue() == 0 ? "image1.jpg" : "image2.png"]]></imageExpression>
        </image>

С помощью свойства printWhenExpression вы можете управлять КОГДА , вам нужно показать изображение. Например:

        <parameter name="toShowPicture" class="java.lang.Boolean" isForPrompting="true">
            <defaultValueExpression><![CDATA[CDATA[Boolean.valueOf(false)]]></defaultValueExpression>
        </parameter>
        ...
        <image>
            <reportElement x="0" y="296" width="270" height="65">
                <printWhenExpression><![CDATA[$P{toShowPicture}.booleanValue()]]></printWhenExpression>
            </reportElement>
            <imageExpression><![CDATA[$P{whatImageToShow}.intValue() == 0 ? "image3.jpg" : "image4.png"]]></imageExpression>
        </image>

Имя файла / местоположения хранятся в таблице «рисунки» вместе с Подписи. Я полагаю, мне нужен подотчет?

Да, вы не можете использовать несколько запросов (источников данных) в одном отчете. И да, вам нужен подотчет.
Вы можете вернуть данные из подотчета в основные данные. Вы можете просмотреть образец отчета в папке $ IREPORT_HOME $ \ ireport \ samples \ Subreports и прочитать это case .

ОБНОВЛЕНИЕ:
Я только что нашел полезной, как мне кажется, статью Создание отчетов о яшме с динамическими изображениями . Может быть, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...