3

我有一种情况,我根据以编程方式生成的 jrxml 文件和具有给定名称和给定样式名称的样式模板创建报告。在有条件样式的情况下,这可以正常工作。我发现的每个示例都只是使用 ConditionalStyles 来更改某些值,例如为特定情况设置不同的背景色。这不能在这里完成,因为无法知道是什么将偶数行样式与奇数行样式分开。就像奇数行将获得灰色背景或偶数行将获得绿色前景和黑色底笔一样。

我尝试或查看的内容:

  • 使用条件样式 - 似乎无法定义样式引用来更改样式值
  • 使用变量作为样式名称 - 变量未得到评估
  • 使用偶数和奇数样式作为父样式创建具有 2 个 ConditionalStyles 的样式 - 创建 jrtx 文件时忽略这些样式

那么...有没有办法使用样式引用创建备用样式行?如果是,它是如何完成的?

4

2 回答 2

1

由于似乎没有解决方案,我们不得不更改样式文件的结构以包含条件样式,而不是在文档中这样做。

当走这条路并尝试以编程方式更改或创建这些样式文件时,请注意,在JRXmlTemplateWriterJasper 附带的 中,该方法toWriteConditionalStyles实现为:

protected boolean toWriteConditionalStyles() {
    return false;
}

这是不幸的。您必须使用自己的 Exporter 来更改此行为。

于 2013-03-21T11:42:10.653 回答
0

只是知道什么将偶数行样式与奇数行样式分开的方式。
偶数行将满足条件

(($V{REPORT_COUNT}%2) == 0)

奇数行将满足条件

(($V{REPORT_COUNT}%2) != 0)

然后您可以使用具有上述条件的条件样式

于 2013-03-09T07:42:59.497 回答