2015-05-25 2 views
0

Я создал отчет BIRT с диаграммой, которая получает данные из базы данных оракула. Я правильно сделал диаграмму. Теперь мне нужно добавить 4-5 маркеров в диаграмму. Значения для маркеров, которые могут быть изменены, также сохраняются в базе данных.Как добавить динамический маркер в таблицу BIRT

Я попытался скрипты, упомянутые в этой статье, с некоторыми модификациями http://blogs.actuate.com/birt-chart-scripting-dynamic-markers/

function beforeGeneration(chart, icsc) 
{ 
importPackage(Packages.org.eclipse.birt.chart.model.component.impl); 
importPackage(Packages.org.eclipse.birt.chart.model.data.impl); 
importPackage(Packages.org.eclipse.birt.chart.model.attribute); 
importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl); 

var chart = icsc.getChartInstance(); 
var yAxis = chart.getBaseAxes()[0]; 

var min_value = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("min_val"); 
var ok_value = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("ok_val"); 
var great_value = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("great_val"); 

min_ml = MarkerLineImpl.create(yAxis, NumberDataElementImpl.create(min_value)); 
min_ml.getLabel().getCaption().setValue("Minimum"); 
min_ml.getLineAttributes().getColor().set(255,0,0); 

} 

Он генерирует маркер, но в неправильном месте. Похоже, что он не получает должным образом маркировку в соответствии со значениями оси x.

enter image description here

Что может быть проблема в этом сценарии?

ответ

0

Я нашел проблему со сценарием.

Я попытался присвоить значение min_value жестко закодированное значение, после чего оно сработало. После отладки я узнал, что формат данных оси X был с десятичными знаками, которые не совпадали с значением целочисленного формата, взятым из базы данных.

Из окна Формат диаграммы я изменил формат данных по оси ряда с 0 decimals.Then он работал :)

+0

http://developer.actuate.com/community/forum/index.php?/topic/36669-хау к надстройке с динамическим маркером-к-а-BIRT-чарт / – direndd

Смежные вопросы