我必须根据动态提供的各种参数生成报告.在某些上下文中,参数可以为空.例如,从表中的人与ID,姓名,年龄,性别和maritalStatus的领域,我会产生对报告的30岁已婚男性的人.在其他一些时候,可能需要在不考虑年龄的情况下结婚.如果我对这两种情况使用相同的jasper,则第二种情况下的年龄约束将为null.有没有办法管理这种情况?
此外,是否可以动态指定报告中应生成哪些字段?
我想根据特定条件在运行时显示/隐藏列.我正在使用"在表达时打印"来有条件地在我的报告中显示/隐藏此列(及其标题).当列被隐藏时,它将占用的空间留空,这不是特别有吸引力.
我希望如果以更有效的方式使用额外的空间,可能包括:
理论上,我可以通过将列(和标题)的宽度设置为0来实现第一个,但也指示列应调整大小以适合其内容.但JasperReports没有提供"调整宽度以适应内容"选项.
另一种可能性是使用Jasper API生成报告,而不是使用XML定义报告模板.但对于这样一个简单的要求,这似乎需要付出很多努力.