随笔分类 - FineReport冷门需求实现
摘要:一、实现效果 二、实现思路 假设我们有mysql数据库表temp_namescore,其结构和数据如下: 如果我们要实现上述功能,需要将数据转换成可以在前端页面展现的HTML代码,然后在FR中进行HTML渲染,具体步骤如下: 1、写SQL,根据数据和最大值,获取对应的比例,然后拼接成HTML文件 代
阅读全文
摘要:最近收到领导提出的一个需求,大致如下: 用户在决策平台使用报表时,如果发现某张报表有问题时可以随时右键进行反馈,信息部在接收到反馈时可以根据用户的反馈快速定位并解决问题。 针对此问题,在思考许久后觉得还是直接弹窗,让用户可以直接在弹窗中提交问题反馈是最好的。因此实现了以下功能。 用户在决策平台的任何
阅读全文
摘要:话不多说,线上效果图 FR官方文档提供了一种多列动态排序的方法,但是配置起来有些麻烦。 这里我提供一种我常用的方法,实现思路: 将排序字段及排序规则作为动态参数传递到数据集中实现排序 主要步骤如下: 第一步:在数据集中插入参数排序字段和排序规则 SELECT * FROM 账单 order by $
阅读全文
摘要:在一些业务需求中,我们需要将公章贴在文本上,然后打印出来,让相关人员签字。但是也有需求是直接将相关人员也打印出来,然后人员的名字要在公章之上,模拟出现盖章后签字的效果。 此类大部分功能是通过悬浮图片进行实现的。如下: 设计器中右下角的图片是插入的悬浮元素,然后分页预览中点击FR自带的打印,可以得到如
阅读全文
摘要:有些时候我们不得不在不同的设计器上打开跨大版本的模板文件,这时候设计器一般会提醒或报错,导致无法正常打开。 如果需要强制打开,可以用notepad++或其他编辑器打开源文件,找到DesignerVersion节点,修改DesignerVersion属性值即可。 属性值及版本对比如下: |版本| De
阅读全文
摘要:因为某些特殊业务需求,可能需要将文件转换成二进制上传到数据库中存储。(虽然极不推荐) 而用户又想在前台页面直接点击就可以下载该文件,目前FR文档中推荐的一种方法是将字段用下载链接展示二进制内容。相关地址如下:https://help.fanruan.com/finereport10.0/doc-vi
阅读全文
摘要:FR自带的多选按钮,只支持整个按钮组的禁用和可用,以及默认值得设置,并不能单独设置多选组中某个或某几个按钮必选且不允许用户修改。 接下来提供一种思路实现以上功能,先上效果图。 目前实现效果: 强制选中A、C两个选项。 A与C两个选项的按钮是灰色的禁止编辑的。 A与C两个选项点击不会对结果值产生任何影
阅读全文
摘要:一、跳转到指定Sheet的实现 话不多说,先上效果图 两个按钮的事件分别如下: _g().loadSheetByName("sheet1") # 跳转至sheet1按钮事件 _g().loadSheetByName("sheet2") # 跳转至sheet2按钮事件 其核心为_g().loadShe
阅读全文
摘要:虽然FR界面的工具栏已经很商业化,很好看了,但是总会有那么些需求希望你可以修改工具栏的样式。 修改工具栏样式的主要思路是: 通过JQ选择器选中需要调整的元素,然后修改他们的样式 接下来,我们尝试着对工具栏做出一些样式的调整,以下代码需要在web属性的加载起始事件中书写。 // 调整工具栏的整体高度,
阅读全文
摘要:关于冻结,目前帆软FR仅支持一段区间的冻结,并不支持多段冻结。而有时我们的业务需求可能是希望能够实现表格的头列和尾列进行冻结,中间的数据格可以滚动。 针对上述问题,现提供一种实现方式,其主要思路如下: 分析表格结构,通过调整CSS手动将对应的单元格进行冻结 首先在根据问题,我们可以直到我们需要将表格
阅读全文
摘要:常规情况下,打印报表的一版操作是: 1、点击相关报表查询页面,展示查询结果,即即将打印的页面 2、点击打印按钮,进入浏览器的打印预览界面 3、点击打印 但是某些时候我们可能会希望不需要点开某张报表即可打印,如下图操作: 实现此类型的冷门需求可以使用下面代码片段进行静默打印,通过按钮的事件进行触发 v
阅读全文