JasperReports图表:在Customize()方法中访问Series表达式的值

时间:2013-07-07 17:22:28

标签: java jasper-reports jfreechart

我正在使用 JasperReports Server 5.0专业版

对于其中一个报告,我使用图表定制器来自定义条形图的颜色。评估时间是报告

iReport 中,我将系列表达式定义为

 $F{form} + "(" + $V{month} + ")"  

enter image description here

Java 文件的自定义方法中,我想访问上面表达式的值

1-sep,2-Oct,3-Jan,4-Feb

我尝试了以下代码来获取Series值,但没有成功。

  public JRCategorySeries[] categoryList = null ; 
  JRFillCategoryDataset  categoryDS  = (JRFillCategoryDataset)jasperChart.getDataset();
  categoryList = categoryDS.getSeries();

  SubCategoryAxis domainAxis = new SubCategoryAxis("");
  domainAxis.setCategoryMargin(0.05);

  for (int i = 0 ; i <categoryList.length -1 ; i++ ) {

    JRCategorySeries jrcategoryseries = categoryList[i];

    domainAxis.addSubCategory(jrcategoryseries.getSeriesExpression().getText());
  }

我需要帮助来访问自定义方法中的系列数据点。我将非常感谢您的评论。

1 个答案:

答案 0 :(得分:-1)

您可以从传递给customize类的JFreeChart参数中获取数据集。 也可以通过JRChart参数访问访问jrxml中为图表设置的属性

请试试这个

public void customize(JFreeChart chart, JRChart jasperChart) {

    // To access the dataset of the chart
     CategoryPlot plot = (CategoryPlot) chart.getPlot();
     CategoryDataset catData = plot.getDataset();


  // to access the key property of chart <br/>
     String key = jasperChart.getKey();
}

此致 钱德拉