FineReport 使用JS实现决策报表对数据库更新(自动更新,不用点击按钮)

简介: 数据库中部分表数据按照一段时间需要更新(如:每个月更新一次),这样数据库中的数据相关数据的部分值是相同的,需要让每一个月的月份更新后,数据库中其他表对应的关系也自动更新,这里介绍相关操作方法。

问题

FineReport 使用JS实现数据库更新(自动更新,不用点击按钮)

问题描述

数据库中部分表数据按照一段时间需要更新(如:每个月更新一次),这样数据库中的数据相关数据的部分值是相同的,需要让每一个月的月份更新后,数据库中其他表对应的关系也自动更新。

具体步骤

创建决策报表frm

具体包括的组件:
一个按钮控件(两个文本框(可隐藏)):用于更新月份表
一个网页框控件:用于刷新分数表(可隐藏,初始化时的网页url为空)

image.png

创建普通报表cpt

包括组件:
相关需要更新数据的查询
一个按钮控件

image.png

frm报表相关处理

月份更新文本控件控件值参考公式代码:year(now())+"-"+month(now())
  • 按钮相关设置:

    • 设置两个点击事件:

      • 点击1:设置提交入库事件-入库的值是文本框控件名作为动态参数的值
      • 点击2:设置JavaScript脚本
        注:链接尾部的参数不要忘记添加:&op=write
        此参数的目的是以填报形式打开报表
//点击2的js
var rhiframe0 = _g().getWidgetByName('rhiframe0');
rhiframe0.setValue("${servletURL}?viewlet=文件夹路径/month_update.cpt&op=write");

image.png

cap报表相关处理

  • 添加一个提交按钮控件
  • 添加数据库查询的数据列到单元格中
  • 按钮控件的事件设置

    • 初始化事件(使用初始化事件可以不用执行点击相关事件)

      • 选择提交入库(这里不直接选择js脚本的原因是最开始初始化时还没有查询到数据库的值到单元格中,使用提交入库的回调函数后单元格中有数据,可以使用后面的点击事件进行数据提交),然后选择回调函数,回调函数选择js脚本
    • 点击事件

      • 选择提交入库(这里的是真正的把查询到单元格中的值提交到数据库中)
//初始化事件提交入库的回调js
//submit2: 当前按钮的控件名
submit2 = _g().getWidgetByName('submit2');
//赋予按钮点击事件
submit2.fireEvent('click');
  • 初始化事件图片

image.png

  • 点击事件图片

image.png

目录
相关文章
|
17天前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
23天前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
28 2
|
22天前
|
JavaScript 前端开发 Java
JavaScript内存泄露大揭秘!你的应用为何频频“爆内存”?点击解锁救星秘籍!
【8月更文挑战第23天】在Web前端开发中,JavaScript是构建动态网页的关键技术。然而,随着应用复杂度增加,内存管理变得至关重要。本文探讨了JavaScript中常见的内存泄露原因,包括意外的全局变量、不当使用的闭包、未清除的定时器、未清理的DOM元素引用及第三方库引发的内存泄露。通过了解这些问题并采取相应措施,开发者可以有效避免内存泄露,提高应用性能。
28 1
|
30天前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
14 1
|
30天前
|
JavaScript Java
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
15 1
|
2月前
|
JavaScript 关系型数据库 API
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
这篇文章介绍了什么是Prisma以及如何在Node.js和TypeScript后端应用中使用它。Prisma是一个开源的下一代ORM,包含PrismaClient、PrismaMigrate、PrismaStudio等部分。文章详细叙述了安装PrismaCLI和依赖包、初始化Prisma、连接数据库、定义Prisma模型、创建Prisma模块的过程,并对比了Prisma和Sequelize在Nest.js中的使用体验,认为Prisma更加便捷高效,没有繁琐的配置。
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
|
1月前
|
JavaScript 前端开发
js点击抽奖符合条件触发点击次数
js点击抽奖符合条件触发点击次数
24 1
|
1月前
|
SQL JavaScript 前端开发
node.js使用Sequelize操作数据库
node.js使用Sequelize操作数据库
|
17天前
|
JavaScript 前端开发
Next js:点击登录显示登录表单,点击注册显示注册表单的功能
本文提供了一个Next.js中使用React状态管理实现点击按钮切换显示登录和注册表单的功能示例,包括创建`authform.tsx`组件和在页面组件中引入使用的方法。
|
2月前
|
前端开发 NoSQL 数据库
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改