java - 如何使用 JasperReports API 以编程方式为交替行指定不同的背景颜色

标签 java jasper-reports

我正在使用 Java 代码创建 JasperReports xls 报告(不使用 .jrxml)。

我需要在详细信息部分为替代行设置不同的背景颜色。

我该怎么做?

最佳答案

在报告开头使用样式定义:

<style name="DataCellStyle" mode="Opaque" border="None">
  <conditionalStyle>
    <conditionExpression>
      <![CDATA[new Boolean($V{REPORT_COUNT}.intValue() % 2 == 0)]]>
    </conditionExpression>
    <style mode="Opaque" backcolor="#E0E0E0" />
  </conditionalStyle>
</style>

...并将此样式用于您的数据单元格:

<detail>
  <band height="15">
    <textField>
      <reportElement x="0" y="0" width="150" height="15" style="DataCellStyle"/>
      <textFieldExpression class="java.lang.String">
        <!-- something -->
      </textFieldExpression>
    </textField>
  </band>
</detail>
<小时/>

有关条件样式的更多信息是 here

关于java - 如何使用 JasperReports API 以编程方式为交替行指定不同的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17802962/

相关文章:

java - 编译 sales.jrxml 文件后,它创建 null.jasper 而不是 sales.jasper

java - 在 Linux 上找不到 JasperReports 子报表资源

java - 为什么 Eclipse Java 编译器会提示内部派生类型的转换未经检查?

java - 如何在 jstack 输出中显示源行号?

java - 在 java 中解析 A​​rmored ECC 公钥/私钥(从 gpg cli 生成)

java - 由于jasper报告需要重启Tomcat

jasper-reports - 不显示矩形边框

java - DynamicReport 的字符编码错误

java - 布局父级的父级

java - 确定路径字符串是 Java 的本地机器还是远程机器的方法