FineReport单行与数据库交互的方法

1.   问题描述

       我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作,将该行数据直接与数据库交互,执行存储过程过程。我们可以通过每一行增加帆软“插入”按钮实现插入动作,并且在控件事件中增加和数据库的交互,但当事件过多时帆软无法稳定地实现交互,会出现数据丢失或者数据库连接出错等问题。因此,这篇文档介绍一种单行数据和数据库交互的方法

2.   实现思路

     在帆软报表的设计思路中,通过模板-->报表填报属性实现和数据库的交互才是常规手段,且过程稳定不容易出错。因此,采用在按钮事件中写入JS事件,调用填报属性,并且用填报条件来限制入库数据来实现单行填报。

3.   示例

      我们假设产品库存量为现有量,然后申请订购后就从库存量里减去订购的数量,在每一行的数据进入数据库后,可以看到库存量的变化

3.1打开报表

3.2编辑Js语句记录订购产品名

右键产品名称-->控件设置-->事件编辑-->新建事件-->编辑结束。写js语句,contentPane.setCellValue("G1",null,this.getValue());。将新增记录在G1单元格。

3.3调用填报功能,设置填报条件

模板-->报表填报属性-->内置SQL-->提交类型选择智能提交,在提交内容中分别将要提交的字段和单元格一一对应。

通过验证添加的数据是否是最新的数据来进行筛选。注意,G1单元格一定要设置成文本控件

 

 

 

3.4编辑添加按钮,调用填报事件

在倒数第二个单元格添加按钮控件,并对该控件的图标、类型进行设置。注意,所有的单元格都要设置成向下的扩展方向,带有sql语句的单元格插入行策略都是原值,按钮对应的扩展单元格是B3。

 

 

对按钮进行事件编辑,点击-->编写Js语句:_g().writeReport();调用填报功能。

3.5保存并预览

保存模板,点击填报预览,效果如下


可以看到库存量发生了变化(此处为demo数据库,无法增加新的字段,读者在实际使用的时候可以在数据库中增加一个字段,专门用来存放原始的库存量,为了页面美观,可以将H列隐藏 



本文转自 雄霸天下啦 51CTO博客,原文链接:http://blog.51cto.com/10549520/1919563,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java cas volatile_每日一个知识点:Volatile 和 CAS 的弊端之总线风暴

每日一个知识点系列的目的是针对某一个知识点进行概括性总结,可在一分钟内完成知识点的阅读理解,此处不涉及详细的原理性解读。一、什么是总线风暴总线风暴,听着真是一个帅气的词语,但如果发生在你的系统上那就不是很美丽了&#…

SqlServer之代码块相关

转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/sqlserver-codeblock/ 一、go语句 Go语句是SqlServer中用来表示当前代码块结束提交并确认结果的语句。 Go语句不能和其他Sql命令卸载同一行上! 定义的局部变量作用域局限在定义它的代码…

010 使用list和tuple

list Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates [Michael, Bob, Tracy] >>&g…

IT:如何使用Server 2008 R2上的远程桌面服务设置自己的终端服务器

In today’s IT learning article, we are going to take a look at installing Terminal Services, otherwise known as Remote Desktop Services, on a Server 2008 R2 machine. 在今天的IT学习文章中,我们将介绍在Server 2008 R2计算机上安装终端服务(也称为远程…

Win10 jdk的安装以及环境变量的配置,及需要注意的坑

此篇文章献给自己,希望下次长点记性 最近本人终于有时间开始学习appium,并且开始在电脑上配置环境,第一步就是在我那刚装的Win10 系统上安装jdk,过程并不顺利,由于之前都是用的win7,几乎都是一路的下一步&a…

Jenkins配置Findbugs做源代码安全扫描

2019独角兽企业重金招聘Python工程师标准>>> 此内容目标阅读用户:运维人员 配置步骤如下: Jenkins安装Findbugs插件 Jenkins系统管理 → 管理插件 → (可选插件)找到Findbugs及其依赖插件全部安装成功,Jenkins重启,即可…

如何从USB运行Windows 8 Developer Preview

Running Windows 8 from a USB should not be confused with installing Windows on a USB drive–in this case, instead of installing it on the drive, we’re just running it straight from the portable drive. Here’s how to do it. 从USB运行Windows 8不应与在USB驱动…

火狐查cookie_Firefox 65默认会阻止跟踪Cookie

火狐查cookieMozilla today released Firefox 63, which includes an experimental option to block third-party tracking cookies, protecting against cross-site tracking. You can test this out today, but Mozilla wants to enable it for everyone by default in Firef…

chromebook刷机_如何将iTunes音乐移至Chromebook

chromebook刷机If you switch between platforms a lot, you know it’s a hassle to move your stuff around. Fortunately, music files don’t have any sort of DRM tying them to a specific platform the way that movies do, so you can copy and paste your library ar…

阿里巴巴Java开发手册终极版

2019独角兽企业重金招聘Python工程师标准>>> 一、编程规约: (一)命名风格 1. 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例: _name / __name / $Object / name_ / name$ / Object$ 2.…

ios6.1.6可用微信_这是iOS 12.1的新增功能,今天可用

ios6.1.6可用微信While iOS 12 is still fairly fresh, the first point release will be rolling out starting today. This brings a handful of new features, like Group Facetime, dual SIM support, camera improvements, new emoji, and more. 尽管iOS 12仍然相当新鲜&a…

esp32 cam工作电流_我如何在家工作:Cam的生产力之痛

esp32 cam工作电流Telecommuting is becoming more and more common these days, with many tech writers (myself included) working from home on a full-time basis. I get asked about how I work fairly often, so here’s the skinny. 如今,远程办公变得越来越…

NUMPY数据集练习 ----------SKLEARN类

123456<br><br># 1. 安装scipy&#xff0c;numpy&#xff0c;sklearn包import numpyfrom sklearn.datasets import load_iris# 2. 从sklearn包自带的数据集中读出鸢尾花数据集dataprint(data.data)123# 3.查看data类型&#xff0c;包含哪些数据data load_iris()pr…

java 伪异步 netty,大话netty系列之--伪异步BIO

生意规模扩大话说&#xff0c;老王和大明的生意越来越好&#xff0c;这就需要两个人增强业务往来&#xff0c;由于天南地北&#xff0c;两个人只能每次运输都需要雇一个人去运货(new 一个线程)&#xff0c;一个月下来&#xff0c;两人一算&#xff0c;人力成本太大了&#xff0…

如何使用Windows搜索在任何文件中搜索文本

Many of us rely on Windows Search to find files and launch programs, but searching for text within files is limited to specific file types by default. Here’s how you can expand your search to include other text-based files. 我们中的许多人都依赖Windows搜索…

php算法求出兔子数列,PHP算法:斐波那契数列的N种算法

前言前段时间&#xff0c;遇到优化计算斐波那契数列的常规递归方法&#xff0c;但是一时间并没有及时想到很好的方法&#xff0c;所以后面查找了相关资料&#xff0c;总结了多种计算解法&#xff0c;所以分享出来&#xff0c;和大家一起交流学习。斐波那契数是什么斐波那契数列…

Linux文件和目录权限:chmod、更改所有者和所属组:chown,umask命令,隐藏权限:lsattr/chattr...

文件和目录权限chmod&#xff1a; 我们使用ls -l可以看到文件的详细信息&#xff0c;也知道第一列的第一个符号(字母)表示文件的类型&#xff0c;在表示文件的类型符号的后面的九个符号则表示的是文件的权限&#xff0c;这些权限和文件的所有者和所属组都有关系&#xff1a; 文…

【技术累积】【点】【java】【27】@JSONField

JSONField 该注解隶属于阿里fastjson&#xff0c;方便fastjson处理对象时的一些操作 源码 Retention(RetentionPolicy.RUNTIME) Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER }) public interface JSONField {/*** config encode/decode ordinal* s…

感谢支持,超预期重印并加码

今天&#xff0c;要向广大读者朋友带来一个&#xff0c;连我自己和出版社都感到十分意外的好消息&#xff0c;几天前接到出版社的通知&#xff0c;说今年元月出版的《Cisco/H3C交换机配置与管理完全手册》&#xff08;第二版&#xff09;马上就要下单重印了&#xff0c;而且一下…

如何从手机远程控制uTorrent

You’re a geek on the go and it’s important to keep tabs on your torrents when you’re away from home. Today we take a peak at how you can monitor, manage, and even start your torrent downloads when you’re away from your computer. 您是旅途中的怪胎&#x…