FR在开发组件时的注意事项

devtools/2024/9/20 9:19:02/ 标签: finereport, 开发组件

FR目前可以在三个地方开发自己的组件,普通报表参数面板上,普通报表填报下,决策系统中。

其中普通报表参数面板,决策系统中开发组件的属性是返回

CRPropertyDescriptor[] supportedDescriptor()

这种方式是提供属性的名字,get方法,set方法,这种只能操作本属性,不能与其他属性联动。

普通报批表填报下是返回

JPanel setFirstContentPane() 

返回自己的属性容器,里面可以随意写属性组件,可联动,比较灵活。

另外就是决策系统中的组件如果是想修改产品组件本身的功能,这里建议不要去继承产品的组件来修改,这里产品的组件不是标准的组件,很难去继承实现,很困难,最好是写自己的新组件来实现。而普通报表的参数面板组件,填报下的组件是标准的组件,很容易继承来实现。

举个例子:

对于下拉框组件:

        参数面板上可以继承FR.ComboBoxEditor来实现。

        填报下也是继承FR.ComboBoxEditor来实现。

        决策系统下就没有FR.ComboBoxEditor组件了,可以参考report.single_select_combo类,但这并不是下拉框的真正实现类,它外面还有一层。

参数面板:
下拉框组件:com.fr.form.ui.ComboBox
属性:com.fr.design.widget.ui.designer.ComboBoxDefinePaneb.shortcut("combo", FR.ComboBoxEditor)f()(Ct, "xtype", "report.single_select_combo"),com.fr.form.ui.ComboCheckBox
"tagcombocheckbox" "combocheckbox"FR.TagCheckBoxEditor  FR.TagCheckBoxEditor

http://www.ppmy.cn/devtools/35156.html

相关文章

Json高效处理方法

一、参考我之前的博客,Delphi可以很方便的把类和结构体转换成JSON数据,但是数据量大了,就会非常之慢,1万条数据需要20秒左右。如果引用Serializers单元,那么100万数据只需要4秒左右,每秒处理20万+,速度还是很快的。 二、写一个简单的类  TPeople = class private …

新的项目springboot

buybuyshenglombok <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency> 添加依赖 lombok package com.example.demo.pojo;import lombok.AllArgsConstructor; import lombok.Data; import …

python基础--推导式和拆包

推导式和拆包 推导式 这是一个快速地生成数据的方式 比如在数组里面存1, 3, 5…99 [x for x in range(1, 100) if x % 2 0]只一个不可以生成元组, 可以用于列表, 字典和集合 这一个循环是可以嵌套的 [(x, y) for x in range(1, 3) for y in range(3)] [(1, 0), (1, 1), (…

memory consistency

memory consistency model 定义了对于programmer和implementor来说&#xff0c;访问shared memory system的行为&#xff1b; 对于programmer而言&#xff0c;他知道期望值是什么&#xff0c; 知道会返回什么样的数据&#xff1b;&#xff1b; 对于implementro而言&#xff0c;…

详细分析Java中的@Service注解

目录 1. 基本知识2. Demo2.1 传统形式2.2 注解形式 3. 总结 1. 基本知识 Service 是 Spring Framework 中的一个注解&#xff0c;用于标识一个类为服务层组件 服务层&#xff08;Service Layer&#xff09;&#xff1a; 服务层是应用程序的一个层次结构&#xff0c;位于控制层…

【动态规划-最长上升子序列模型part2】:拦截导弹、导弹防御系统、最长公共上升子序列【已更新完成】

1、拦截导弹 某国为了防御敌国的导弹袭击&#xff0c;发展出一种导弹拦截系统。 但是这种导弹拦截系统有一个缺陷&#xff1a;虽然它的第一发炮弹能够到达任意的高度&#xff0c;但是以后每一发炮弹都不能高于前一发的高度。 某天&#xff0c;雷达捕捉到敌国的导弹来袭。 由于…

(成品论文22页)24深圳杯数学建模A题1-4问完整代码+参考论文重磅更新!!!!

论文如下&#xff1a; 基于三球定位的多个火箭残骸的准确定位 针对问题一&#xff1a;为了进行单个残骸的精确定位&#xff0c;确定单个火箭残骸发生音爆 时的精确位置和时间&#xff0c;本文基于三球定位模型&#xff0c;考虑到解的存在性和唯一性&#xff0c; 选取了四个监测…

力扣763. 划分字母区间

Problem: 763. 划分字母区间 文章目录 题目描述思路复杂度Code 题目描述 思路 1.创建一个名为 last 的数组&#xff0c;用于存储每个字母在字符串 s 中最后出现的位置。然后&#xff0c;获取字符串 s 的长度 len。 2.计算每个字母的最后位置&#xff1a;遍历字符串 s&#xff0…

病毒及网络攻击(信息安全)

一、病毒 计算机病毒的特征&#xff1a;传播性、隐蔽性、感染性、潜伏性、触发性、破坏性等 Worm -- 蠕虫病毒 Trojan -- 特洛伊木马 Backdoor -- 后门病毒 Macro -- 宏病毒 宏病毒 感染的对象主要是 文本文档、电子表格等 木马病毒&#xff1a;冰河 蠕虫病毒&#xff1a;欢乐时…

SQL注入——绕过information

衔接上文&#xff0c;进一步对SQL注入less-1进行禁止information的操作&#xff0c;上文连接如下&#xff1a; SQL注入less-1-CSDN博客 一、对less-1进行编辑 增加一段代码&#xff0c;作用是禁止information字段 二、进行检查 可以看到代码已经生效&#xff0c;禁止用infor…

华为eNSP小型园区网络配置(下)

→跟着大佬学习的b站直通车&#xff0c;感谢大佬← →华为eNSP小型园区网络配置&#xff08;上&#xff09;← 目标1&#xff1a;telnet配置 R1 # interface GigabitEthernet0/0/2ip address 100.1.1.2 255.255.255.0 # user-interface vty 0 4authentication-mode aaa # aaa…

内网端口转发与代理

思路&#xff1a;渗透的前提是双方能够建立通信。目前无法和win7建立通信&#xff0c;但是拿到了windows2003的权限&#xff0c;所以可以在Windows2003主机上面建立节点&#xff0c;作为跳板机去访问到内网。 目前状态&#xff1a;控制win2003&#xff08;IP&#xff1a;192.1…

RS2057XH功能和参数介绍及规格书

RS2057XH 是一款由润石科技&#xff08;Runic Semiconductor&#xff09;生产的模拟开关芯片&#xff0c;其主要功能和参数如下&#xff1a; 产品特点&#xff1a; 低电压操作&#xff1a;支持低至1.8V的工作电压&#xff0c;适用于低功耗应用。 高带宽&#xff1a;具有300MHz的…

力扣:100284. 有效单词(Java)

目录 题目描述&#xff1a;输入&#xff1a;输出&#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 有效单词 需要满足以下几个条件&#xff1a; 至少 包含 3 个字符。 由数字 0-9 和英文大小写字母组成。&#xff08;不必包含所有这类字符。&#xff09; 至少 包含一个 …

代码随想录第三十七天(完全背包问题)|完全背包|零钱兑换 II|组合总和 Ⅳ

完全背包问题 完全背包问题和01背包的区别就在于每一个物品可取的次数&#xff0c;01背包每个物品只能取一次&#xff0c;完全背包每个物品能取无数次。 而01背包为了保证每个物品只取一次&#xff0c;在遍历背包的时候需要倒序遍历&#xff0c;这样才能保证之前的状态都是初…

数码管的显示

静态数码管显示 数码管有两种一种的负电压促发,一种是正电压促发,上图是单数码管的引脚 上图是数码管模组的引脚,采用了引脚复用技术 咱们这个单片机由8个单数码管,所以要用上38译码器,如下图 74138使能端,单片机上电直接就默认接通了 74HC245的作用是稳定输入输出,数据缓冲作…

C#中的委托是什么?事件是不是一种委托?

在C#中&#xff0c;委托&#xff08;Delegate&#xff09;是一种类型安全的函数指针&#xff0c;它允许你定义可调用的方法类型&#xff0c;并将这些方法作为参数传递或赋值给变量。委托特别用于实现事件和回调方法。 委托的声明定义了一个可调用的方法必须具有的确切签名&…

八股spring+springboot+springMVC+Mybatis(一)

目录 1、面试官&#xff1a;Spring框架中的单例bean是线程安全的吗&#xff1f; 2、面试官&#xff1a;什么是AOP 3、面试官&#xff1a;你们项目中有没有使用到AOP 4、面试官&#xff1a;Spring中的事务是如何实现的 5、面试官&#xff1a;Spring中事务失效的场景有哪些 6、面…

数据分析必备:一步步教你如何用numpy改变数据处理(5)

介绍&#xff1a; NumPy是Python中用于数值计算的一个非常强大的库&#xff0c;它提供了高效的N维数组对象和丰富的数学函数。在数据分析和科学计算领域&#xff0c;使用NumPy可以极大地提高编程效率和运算速度。以下是对NumPy的切片和索引操作的介绍&#xff1a; 解释说明&am…

im即时通讯源码/仿微信app源码+php即时通讯源码带红包+客服+禁言等系统php+uniapp开发

即时通讯(IM)系统是现代互联网应用中不可或缺的一部分&#xff0c;它允许用户进行实时的文本、语音、视频交流。随着技术的发展&#xff0c;IM系统的功能越来越丰富&#xff0c;如红包、客服、禁言等。本文将探讨如何使用PHP语言开发一个功能完备的即时通讯系统&#xff0c;包括…