我想让用户输入查询,然后BIRT将基于用户的查询生成报告。
到目前为止,我要做的是将参数传递给this.queryText
,但我想不出BIRT如何显示结果的方法。
这可能吗?
答案 0 :(得分:0)
您可以按照以下步骤实现此目的:-
如果还有其他要求,请详细说明。我一定会尝试为您提供一个示例rptdesign文件。
答案 1 :(得分:0)
这不可能直接实现。
但是,在外部的一些帮助下(例如,从数据库中获取光标的描述),可以生成(并保存,如果愿意的话),并最终通过以下方式运行rptdesign文件:从Java脚本调用DE API。我已经做到了,但这非常麻烦。此外,如果用户想提供参数怎么办?
从安全角度考虑,不建议使用整个方法。
IMHO BIRT并不是正确的工具,因为此任务需要更底层的编程。如果您可以自由选择,我建议将Python与ReportLab工具包(用于生成PDF的库)以及cx_Oracle(取决于您的数据库)一起使用,或者将Java与iText和JDBC一起使用。
答案 2 :(得分:0)
除此之外,我没有其他选择。
首先。 (我使用java btw)我的程序接受并执行查询。然后使用ResultSetMetaData
,我得到列名。 (用作参考我的数据源)
然后。我将完整的查询和列列表传递给方法buildReport()
(请参考How to Build Dynamic Table (BIRT)示例代码)