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

Page tree

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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

1.增加保存按钮监听---继承Charts类需增加equal方法

/**
 * 比较和Object是否相等
 * @param ob 用 于比较的Object
 * @return 一个boolean值
 * 备注:不相等时,触发激活保存按钮
 */
public boolean equals(Object ob) {
    return ob instanceof Chart && super.equals(ob)
            && ComparatorUtils.equals(((PieChart) ob).getChartTitle(), chartTitle)
            && ComparatorUtils.equals(((PieChart) ob).getChartDescribe(), chartDescribe)
            && ComparatorUtils.equals(((PieChart) ob).getChartDescribe(), roma);
}

2.报错cannot be cast to com.fr.plugin.basic.Closeable---修改plugin.xml,增加<main-package>标签

  详情见http://dev.fanruan.com:8090/pages/viewpage.action?pageId=5374139

  解决方法:

  9.0插件引擎定义了主包的概念,指的是插件主要类(比如xml中描述的接入点)所在的包。所有9.0插件默认的主包为com.fr.plugin。考虑到兼容问题,8.0插件的主包默认为com.fr,但这也并不能囊括所有的老插件,所以    允许在plugin.xml中添加<main-package>标签来自定义主包:

  自定义主包

 

<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 = BaseFormula.createFormulaBuilder().build(object);
StableUtils.dealFormulaValue(formula, calculator);
object = formula.getResult();

 

 


 


  • No labels