【问题标题】:Using Jasper ContitionalStyles with named style references将 Jasper ContitionalStyles 与命名样式引用一起使用
【发布时间】:2013-03-21 19:42:10
【问题描述】:

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

我尝试或查看的内容:

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

那么...有没有办法使用样式引用创建备用样式行?如果是的话怎么做?

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

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

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

    protected boolean toWriteConditionalStyles() {
        return false;
    }
    

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

    【讨论】:

      【解决方案2】:

      简单地知道什么将偶数行样式与奇数行样式区分开来。
      偶数行将满足条件

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

      奇数行会满足条件

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

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

      【讨论】:

      • 这我知道,我要问的是如何以条件样式引用外部命名样式或以任何其他方式创建相同的结果。
      猜你喜欢
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2016-09-14
      • 2021-08-26
      • 2011-06-06
      • 1970-01-01
      • 2013-10-08
      相关资源
      最近更新 更多