Showing posts with label Birt. Show all posts
Showing posts with label Birt. Show all posts

March 26, 2015

How to add an ellipsis for Birt bar chart long labels not being displayed

I recently had to design a few reports using Birt.

Amongst some other newby problems, I had this one which I think is a Birt engine bug : when designing or rendering a bar char with long labels, the "ellipsis" thing doesn't work as expected and either the chart isn't displayed at all, or X axis labels aren't displayed.

To address this, you can use scripting to simply cut labels after a certain amount of characters and manually add ellipsis :



To do so, simply select your chart in the designer and switch to the Script tab. Then add the folowing code :

var cutLabel = "";

function afterDataSetFilled( series, dataSet, icsc ) {

 for (var i=0; i 20) {
  
   // cut the string after 20 chars and add ellipsis
   dataSet.getValues()[i] = value.substring(0,20) + "...";
  }
 }
}


function beforeDrawAxisTitle( axis, label, icsc ) {
 if( axis.isCategoryAxis() ){
  label.getCaption().setValue(cutLabel);
 }
}

Hope this helps !