我有一个查询,它从具有数据的表中设计动态列数。 现在我需要根据查询添加动态列数的网格。
select fruit,count(*) from mytable group by fruit;
我正在获得如何手动添加它,但在运行时我可能有不同数量的列。那么我需要做什么程序才能在BIRT报告中动态地将列添加到网格
答案 0 :(得分:0)
您可以在运行时扩展或修改报表模板,例如,Report.beforeFactory()事件的自定义EventHandler。处理程序可以用Java或JavaScript实现。 BIRT有Design Engine API。有一个plug-in,可能会有所帮助。即使您不能按原样使用它,它也提供了如何使用BIRT Design Engine API的示例。使用Design Enigine API,您还可以在运行时从头开始创建新模板。
答案 1 :(得分:0)
或者,您可以使用交叉表,并将fruits
作为维度,将 COUNT(*)
作为度量。它会为每个水果添加一个列,但对于您的示例来说可能会有些过分。