【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

<main-package>com.personal.main</main-package>


3.国际化问题—增加ActualLocaleFinder类

  解决方法:

  http://dev.fanruan.com:8090/pages/viewpage.action?pageId=327732

4.报 java.lang.ClassNotFoundException:com.fr.plugin.XXXX

  先确认是否严格按照http://dev.fanruan.com:8090/pages/viewpage.action?pageId=5373985,如果确认再看下面

  解决方案:

   moudle的class-output path 中的env/home 要与工作目录保持一致,不然会加载不到编译后的class文件

  

  例如:

  我的fr9.0的安装目录为/Applications/FineReport9.0;设计器设置的工作目录也是/Applications/FineReport9.0/WebReport/WEB-INF

  那边这里的插件编译output path 就要设为/Applications/FineReport9.0/WebReport/WEB-INF/plugins/plugin-com.fr.plugin.XXX-1.0.0/classes

5.决策报表添加图表的小图片修改

很多开发者的插件在决策报表展现的是这样,这样不合理,需要修改

解决方案:

继承AbstractIndependentChartsUI,重写getIconPath方法即可

6.关于公式计算---BaseFormula

 

有开发者用了9.0中的BaseFormula,但是8.0中没有这个类,我们又想让公式计算出结果...so

解决方案:

Object object = "=now()";
CalculatorProvider calculator = CalculatorProviderContext.getCalculatorProvider();
FormulaProvider formula = new Formula((String) object);
StableUtils.dealFormulaValue(formula, calculator);
object = formula.getResult();

 

 

7.自定义单元格数据配置面板(仅限不支持单元格数据场景)

 

1)写一个DemoReportDataContentPane 继承 AbstractReportDataContentPane,在构造器中自定义面板

 
Code Block
languagejava
themeEclipse
linenumberstrue
collapsetrue
public class DemoReportDataContentPane extends AbstractReportDataContentPane {

    public DemoReportDataContentPane(ChartDataPane parent) {
        this.setLayout(new BorderLayout());
        this.add(new UILabel("暂不支持单元格数据!", UILabel.CENTER), BorderLayout.CENTER);
    }


    @Override
    protected String[] columnNames() {
        return new String[0];
    }

    @Override
    public void populateBean(ChartCollection ob) {

    }
}
 

2)在继承AbstractIndependentChartsUI 的 类中增加getReportDataSourcePane重写

 
Code Block
languagejava
themeEclipse
linenumberstrue
collapsetrue
/**
 * @param plot
 * @param parent
 * @return 单元格数据配置面板,自定义单元格数据配置面板需要重写
 */
@Override
public AbstractReportDataContentPane getReportDataSourcePane(Plot plot, ChartDataPane parent) {
    return new DemoReportDataContentPane(parent);
}