最新历史版本 :控件应用常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

Finereport 版本
11.0

1.2 应用场景

本文介绍参数模板制作时,控件相关的常见问题及排查步骤。

2. 服务器全局控件复制到本地编辑

问题描述:

报表应用中某些控件的使用频率很高,而这些控件定义方法和使用的数据都是一样的,如果所有模板都定义一遍该控件的话,会比较浪费时间。

因此开发者常常将这些使用频率较高的控件在设计器菜单栏「服务器>控件管理」中预定义为全局控件,定义一遍之后,所有模板都可以使用。如下图所示:

但是在工程迁移或本地搭建测试工程时,如何将这些全局控件复制到本地呢?

14.png

原因分析:

全局控件的配置信息存储在 FineDB 数据库中的「FINE_CONF_XMLENTITY」表和「FINE_CONF_CLASSNAME」中。

控件保存为以「WidgetInfoConfig.nameWidgetConfigMap」开头的记录。

全局控件保存的记录为「WidgetInfoConfig.nameWidgetConfigMap.area」。

全局控件图标信息存储ID为「WidgetInfoConfig.iconManager」。

如下图所示:

1)FINE_CONF_XMLENTITY

2)FINE_CONF_CLASSNAME

1592277352936280.png

解决方案:

  • 如果未迁移finedb,则自定义控件信息保存在「WEB-INF\embed\finedb\db.lobs」中,覆盖到本地即可。

  • 如果迁移了finedb,则将finedb的2个表中,有关自定义控件的数据复制或者提交到本地finedb。

3. 控件数据字典数据集和服务器数据集部分重名时,无法取数编辑

问题描述:

控件数据字典的数据集名字为a,服务器数据集的名字为a_b,在读取数据的时候,会发生错乱。

原因分析:

“_”是java里的保留字符,a_b会被拆成两段读取,由于先匹配到了a,所以就读取了服务器数据集。

解决方案:

修改数据集名字,避免使用保留字符,如false,null,inner,go,加减号等。