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

目录
相关文章
|
3月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
1月前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
79 10
|
3月前
|
JavaScript 前端开发
JS判断点击是单击还是双击
如何使用JavaScript判断用户点击是单击还是双击。
42 0
|
4月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
4月前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
40 2
|
4月前
|
JavaScript 前端开发 Java
JavaScript内存泄露大揭秘!你的应用为何频频“爆内存”?点击解锁救星秘籍!
【8月更文挑战第23天】在Web前端开发中,JavaScript是构建动态网页的关键技术。然而,随着应用复杂度增加,内存管理变得至关重要。本文探讨了JavaScript中常见的内存泄露原因,包括意外的全局变量、不当使用的闭包、未清除的定时器、未清理的DOM元素引用及第三方库引发的内存泄露。通过了解这些问题并采取相应措施,开发者可以有效避免内存泄露,提高应用性能。
67 1
|
5月前
|
JavaScript 关系型数据库 API
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
这篇文章介绍了什么是Prisma以及如何在Node.js和TypeScript后端应用中使用它。Prisma是一个开源的下一代ORM,包含PrismaClient、PrismaMigrate、PrismaStudio等部分。文章详细叙述了安装PrismaCLI和依赖包、初始化Prisma、连接数据库、定义Prisma模型、创建Prisma模块的过程,并对比了Prisma和Sequelize在Nest.js中的使用体验,认为Prisma更加便捷高效,没有繁琐的配置。
201 7
Nest.js 实战 (二):如何使用 Prisma 和连接 PostgreSQL 数据库
|
4月前
|
JavaScript Java
点击按钮,向下添加目录。Java script+jQuery写法
点击按钮,向下添加目录。Java script+jQuery写法
26 1
|
4月前
|
JavaScript Java
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
21 1
|
4月前
|
JavaScript 前端开发
js点击抽奖符合条件触发点击次数
js点击抽奖符合条件触发点击次数
36 1