我不知道这是否可行,但我想弄清楚是否有可能使用iReport Designer创建报告,其中查看报告的用户能够控制分组。
例如,我希望用户能够重新排序分组,还可以更改报告的分组程度(仅在一个字段或多个字段上)。
我的意思并不是说btw的SQL分组,我的意思是例如按帐户分组然后代理:
| Account | Agent | Invoice | Total |
+----------+---------+----------+-------+
| Account1 | | | |
| | Joe | | |
| | | Invoice2 | $600 |
| | | Invoice1 | $300 |
| Account2 | | | |
| | Sam | | |
| | | Invoice4 | $120 |
| | | Invoice7 | $230 |
| | Joe | | |
| | | Invoice3 | $200 |
+----------+-- ------+----------+-------+
我想弄清楚的是,你能用iReport来实现这种分组动态吗?也就是说,用户可能希望首先按代理进行分组,然后按帐户进行分组,而不是每个分组都有一个报告,如果有一种方法可以使用iReport执行此操作,那就太好了。
答案 0 :(得分:1)
是的,应该可以创建这样的报告。但是根据你的确切需要,它可能不实用(正如Alex K所说)。
如果您只采用在帐户上进行分组的示例,然后在代理或分组代理上进行分组,则会很简单。有一个让用户指定此选项的参数。它可能是一个下拉列表。然后在报告中你会有这样的字段:
今天的版本:$F{Account}
和$F{Agent}
动态版本:$P{AcctFirst} ? $F{Account} : $F{Agent}
和$P{AcctFirst} ? $F{Agent} : $F{Account}
同样,组定义需要包含新的AcctFirst参数。
但它不会很好地扩展。如果2个字段是不同的数据类型怎么办?如果您想让用户从3或4或N字段中进行选择该怎么办?其中每一个都是可以解决的......但报告的指数会变得更加复杂。
顺便说一句,这是相对常见的请求。你会看到像这样的功能进入JasperReports。但是现在这是一个艰难的。