FineReport单行与数据库交互的方法
admin
2023-05-25 13:41:34
0

1.   问题描述

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

2.   实现思路

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

3.   示例

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

3.1打开报表

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

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

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

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

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

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

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

 

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

 

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

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

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

 

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

 

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

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

3.5保存并预览

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

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

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

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

 


相关内容

热门资讯

凤凰探访俄军前线后勤厨房:配备... 据凤凰卫视报道,凤凰记者卢宇光8月4日走进顿巴斯前线俄军某指挥所后勤保障排的厨房,早晨7点,基地军官...
抄袭者请注意:沉睡25年的条例... 【文/芯科状元】七月末上海一个闷热的傍晚,浦东张江一家射频前端公司的产品总监老陈把电脑合上,又打开。...
时隔两年,美驻日大使再次缺席 据日本共同社8月4日报道,美国驻日本大使馆当地时间周二宣布,大使乔治·格拉斯将缺席6日举行的广岛市和...
伊朗、阿曼霍尔木兹海峡重开协议... 伊朗和美国官员近日均透露,伊朗与阿曼正接近达成一项协议,以恢复霍尔木兹海峡的船舶通行。与此同时,一艘...
脱下长衫3年后,孔乙己的皮质醇... 作者|谢明宏 编辑|李春晖有网友去查皮质醇,被医生告知“小红书看多了”。2026年的赛博确诊全面升级...
布局亚洲!泽连斯基提出外交新方... 据凤凰卫视援引乌克兰国家通讯社报道,乌克兰总统泽连斯基近日在一次会议上提出外交新方向,将加强与亚洲国...
凯美瑞空调传感器故障 凯美瑞的空调传感器是一个非常重要的元件,它负责控制车内的温度,确保车内空气的清新和舒适。然而,由于使...
电脑的护眼模式在哪里设置 如何... 1、电脑桌面右击,选择个性化 2、选择窗口颜色 3、挑选绿色的颜色,绿色比较护眼 4、点...
大逆转!全球拼命建核电站,什么... 文|凯风AI的尽头是算力,算力的尽头是电力。01全球,正在拼命建核电站。日前,国常会一次性核准浙江金...
电脑上书名号怎么打 怎样在电... 电脑上打书名号的步骤分为以下三步:   第一步:在电脑上建立一个文档或聊天窗口,打开此文档; ...