【问题标题】:How to set background color from parameter in jasper report designer如何在 jasper 报表设计器中从参数设置背景颜色
【发布时间】:2016-11-14 09:24:51
【问题描述】:

我正在使用 jasper 报告来设计报告。我有一份报告,其中有一个静态文本。我想通过参数值设置它的背景颜色。在它为这样的文本生成的 xml 中 -

<reportElement mode="Opaque" x="434" y="0" width="121" height="12" backcolor="#A6A6A6" uuid="e088bd9f-a0ac-4f34-9375-df765c829ec2"/>

现在我需要从来自数据库的参数设置背景色。在这里就像#A6A6A6

有人可以帮我解决这个问题吗?我已经用谷歌搜索了它,但没有运气。

【问题讨论】:

  • 你应该使用条件样式
  • @AlexK 我可以使用条件样式。但是我不能使用 db 表中的颜色代码。我必须为我不想要的每个条件手动输入颜色代码。用户将在表格中设置颜色代码,我将通过参数使用它
  • backcolor="#A6A6A6" - 如何在这里使用参数而不是#A6A6A6?你能帮忙吗
  • 您不能使用这样的表达式:backcolor="$P{someColor}"。您可以尝试使用 JasperReports API 或对其进行包装

标签: jasper-reports


【解决方案1】:

您可以使用 net.sf.jasperreports.style.* 元素级属性(您可以将表达式作为值)来做到这一点。

在你的情况下,你需要

<textField>
  <reportElement ...>
    <propertyExpression name="net.sf.jasperreports.style.backcolor">$P{someColor}</propertyExpression>
  </reportElement>
  ...

【讨论】:

  • 非常感谢。这确实是一个很好的要求和很好的解决方案
  • 如果您不想自己编辑xml,您可以在元素的属性选项卡中找到它(例如Rectangle)。属性->高级->杂项->编辑属性->设计->net.sf.jasperreports.style.backcolor。您可以在那里添加表达式。
猜你喜欢
  • 1970-01-01
  • 2010-12-11
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 2018-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多