使用BIRT设置图表时,往往由于展示数据数目不确定,如果图表宽度是固定的,那么生成的图表很难看,所以就需要根据需要展示的数据的数目来动态设置chart的宽度。
如何在BIRT中添加一个chart就不详细说了,只说明一下添加好chart以后,如何编写脚本来达到chart宽度的自适应:
1、在Layout视图或Outline视图下选中需要添加脚本的chart
2、选择Script视图,在Script下拉列表框中选择onRender,并添加如下脚本:
//图表中x轴对应的实体数量
barcnt = 0;
function afterDataSetFilled(series, dataSet, icsc) {
barcnt = dataSet.getValues().length;
}
function beforeGeneration(chart, icsc) {
chart.getBlock().getBounds().setWidth(200 + 55*barcnt);
chart.getBlock().getBounds().setHeight(270);
}