JasperReports: отображать столбец или поле, если оно видно, иначе не отображать - PullRequest
0 голосов
/ 23 января 2012

У меня есть требование в JasperReports, в котором мне нужно отобразить поле в зависимости от конфигурации пользователя.Если поле видно пользователю, отобразите поле, иначе поле будет скрыто.Кто-нибудь может предложить мне решение для этого?

1 Ответ

2 голосов
/ 23 января 2012

Вы можете использовать parameter для установки условия, чтобы скрыть поле или нет.

Один из способов - установить parameter с помощью JasperReports API .

Пример кода для настройки параметров и создания отчета:

Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("isFieldHidden", true);

JasperFillManager.fillReportToFile(report, parameters, connection);

Фрагмент шаблона отчета (файл jrxml):

<parameter name="isFieldHidden" class="java.lang.Boolean"/>
...
<textField>
    <reportElement x="100" y="0" width="100" height="20">
        <printWhenExpression><![CDATA[!$P{isFieldHidden}]]></printWhenExpression>
    </reportElement>
    <textElement/>
    <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
</textField>
...