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

Page tree

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

Skip to end of metadata
Go to start of metadata

在开发数据集插件/程序数据集的时候,通常都是需要能支持参数的,下面的例子就讲解如何来支持参数并且在设计器中预览的时候会要求输入参数值进行查询。

关键节点

包括插件配置文件说明和关键类的说明。

插件配置

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<plugin>
    <id>com.fr.solution.plugin.db.query</id>
    <name><![CDATA[带参数的数据集]]></name>
    <active>yes</active>
    <version>1.0</version>
    <env-version>8.0</env-version>
    <jartime>2016-05-20</jartime>
    <vendor>fanruan.richie</vendor>
    <description><![CDATA[带参数的数据集示例。]]></description>
    <change-notes><![CDATA[
        [2016-10-08]初始化插件</p>
    ]]></change-notes>
    <extra-core>
        <LocaleFinder class="com.fr.solution.plugin.db.query.QueryLocaleFinder"/>
    </extra-core>
    <extra-report>

    </extra-report>
    <extra-designer>
        <TableDataDefineProvider class="com.fr.solution.plugin.db.query.QueryTableDataDefine"/>
        <ServerTableDataDefineProvider class="com.fr.solution.plugin.db.query.QueryTableDataDefine"/>
    </extra-designer>
</plugin>

其中,第14到16行是引入的国际化文件实现,第20到23行是数据集界面接口的引入。

数据集实现

查看com.fr.solution.plugin.db.query.fun.QueryTableData,可以看到具体的数据集实现,你可以通过修改这个类来实现自己需求的数据集。

注意:我们需要重写方法:

public ParameterProvider[] getParameters(Calculator c);

以获取到真正的参数数组。

界面实现

查看com.fr.solution.plugin.db.query.QueryTableDataDefine,这个实现连接了数据集以及数据集的界面。

注意:如果要修改自定义数据集的名字、图标等,可以修改这个类对应的几个方法。

效果

添加数据集

可以看到安装了插件后会增加一个新的数据集类型『自定义数据集』(这个名字可以在界面实现相关类里面改):

设置数据集内容

这是一个示例数据集,就一个『名字』属性,里面可以带参数,以『${}』包含起来的就是参数部分:

预览效果

点击预览按钮之后,会弹出来参数输入框:

输入之后,就能看到效果了:

源码

源码地址:https://coding.net/u/fanruan/p/demo-tabledata-parameter/git

注意

注意1:如果是自己参照示例来编写自己的数据集插件,请一定记得改插件的id和作者,在plugin.xml中修改。

注意2:数据集的具体实现基本和程序数据集一样。

  • No labels