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

Page tree

Versions Compared

Key

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

...

TableDataDefineProvider

四、支持版本

产品线

版本

支持情况

备注

FR8.0支持
FR9.0支持
FR10.0支持
BI3.6支持
BI4.0支持
BI5.1支持
BI5.1.2支持
BI5.1.3支持

五、插件注册

Code Block
languagexml
themeEclipse
firstline1
titleplugin.xml
linenumberstrue
<extra-designer>
        <ServerTableDataDefineProvider class="your class name"/>
</extra-designer>


六、原理说明

当数据集类型选择列表被触发时,会调用TableDataCreatorProducer#createReportTableDataCreator方法。此时,会读取所有插件中申明的TableDataDefineProvider实例。因为数据集添加是在设计器上操作的,而实际数据集的计算是属于服务器的功能范畴,所以TableDataDefineProvider还有个作用就是解耦,对于一个具体的数据集最终只会把tabledata的class名保存到cpt/frm中。当数据集类型选择列表被触发时,会调用TableDataCreatorProducer#createReportTableDataCreator方法。此时,会读取所有插件中申明的ServerTableDataDefineProvider实例。因为该接口对应的服务其数据集添加是在设计器上操作的,而实际数据集的计算是属于服务器的功能范畴,所以ServerTableDataDefineProvider还有个作用就是解耦,对于一个具体的服务器数据集最终会把tabledata的class名保存到finedb中(注:9.0及更低版本保存到datasources.xml)。

七、特殊限制说明

iconPathForTableData :返回的图标路径(如:/com/demo/hg/resources/images/main.png)。需要注意,因为这个接口没有做图片的统一缩放,所以需要开发者自己准备好16*16(px)大小的图标。否则会显得很不协调。

...

demo地址:demo-table-data-define

TableDataDefineProvider

九、开源案例

免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。

...