我有这样一种情况,我根据以编程方式生成的 jrxml 文件和具有给定名称和给定样式名称的样式模板创建报告。这在有条件样式的情况下工作得很好。我发现的每个示例都只是使用 ConditionalStyles 来更改某些值,例如为特定情况设置不同的背景色。这不能在这里完成,因为无法知道是什么将偶数行样式与奇数行样式分开。就像奇数行将获得灰色背景或偶数行将获得绿色前景和黑色底笔一样。
我试过或看过的:
- 使用条件样式 - 似乎没有办法定义样式引用来更改样式值
- 使用变量作为样式名称 - 变量未被评估
- 使用偶数和奇数样式作为父样式创建具有 2 个 ConditionalStyles 的样式 - 这些在创建 jrtx 文件时被忽略
那么...有没有一种方法可以使用样式引用来创建备用样式行?如果是,它是如何完成的?
最佳答案
由于似乎没有解决方案,我们不得不更改样式文件的结构以包含条件样式,而不是在文档中这样做。
当走这条路并尝试以编程方式更改或创建这些样式文件时,请注意在 Jasper 附带的 JRXmlTemplateWriter
中,方法 toWriteConditionalStyles
实现为:
protected boolean toWriteConditionalStyles() {
return false;
}
这是不幸的。您必须使用自己的导出器来更改此行为。
关于jasper-reports - 将 Jasper ContitionalStyles 与命名样式引用一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15292852/