Динамические фильтры BIRT во время выполнения - PullRequest
0 голосов
/ 30 марта 2009

Есть ли удобный способ доступа к наборам данных отчета BIRT для добавления / изменения некоторых фильтров. Я знаю, что могу просто изменить файл XML (rptdesign), но я надеюсь на метод Java или что-то в этом роде. Кстати, я получу к нему доступ через PHP-Java Bridge, потому что мой интерфейс на PHP.

Ответы [ 2 ]

1 голос
/ 26 апреля 2009

Хорошо, я просто не хочу, чтобы это оставалось без ответа.

Решение состоит в том, чтобы получить доступ к элементу дизайна, затем к набору данных, а затем добавить условия фильтрации оттуда.

$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);
0 голосов
/ 04 апреля 2009

Я не уверен, что вы имеете в виду под «фильтрами», но вы можете создавать отчеты BIR, которые принимают параметры отчета, которые вы можете передать. например передать имя пользователя (xxx), чтобы отобразить отчет с запросом, предназначенным для указанного пользователя (он же пользователь SQL WHERE == xxx)

...