运行时BIRT动态过滤器

时间:2009-03-30 07:37:58

标签: reporting birt

是否有一种简洁的方法来访问BIRT报告的数据集以添加/修改某些过滤器。我知道我可以更改XML(rptdesign)文件,但我希望有一个java方法或其他东西。顺便说一句,我将通过PHP-Java Bridge访问它,因为我的前端是在PHP上。

2 个答案:

答案 0 :(得分:1)

好的,我只是不希望这个没有答案。

解决方案是访问设计元素,然后访问数据集,然后从那里添加过滤条件。

$report = $birtReportEngine->openReportDesign("${here}/myreport.rptdesign");
$filter = new java("org.eclipse.birt.report.model.api.elements.structures.FilterCondition"); // create a new filter condition object

$filter->setExpr("row['id']");

$filter->setOperator("in"); 
$filter->setValue1('["32","679","333","233"]');
$report->getDesignHandle()->findDataSet("Employees")->addFilter($filter);

答案 1 :(得分:0)

我不确定你对“过滤器”的意思,但是你可以创建BIR报告来获取你可以传递的报告参数。 例如传递用户(xxx)名称以显示具有针对指定用户定制的查询的报告(也称为SQL WHERE user == xxx)