`

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列隐藏 

 

分享到:
评论

相关推荐

    FineReport数据库文件FRDemo.db

    帆软报表FineReport数据库文件

    如何在FineReport中解析数据库内XML文件

    综上所述,FineReport通过内置的XML解析能力与自定义程序数据集的编写,提供了灵活的方式来处理存储在数据库中的XML数据,使得用户可以创建出丰富多样的报表,满足不同业务场景的需要。在实际应用中,需要开发者具备...

    Spring Boot2.6.13集成FineReport11.0教程

    该教程涵盖了环境配置、数据库设置、FineReport 安装、报表设计和预览等多个方面。 知识点 1:环境配置 Spring Boot 2.6.13 集成 FineReport 11.0 需要 JDK 1.8、Maven 3.8.5、MySQL 8.0.23 及 Tomcat 等环境配置...

    FineReport如何连接和使用MongoDB数据库

    随着NoSQL数据库越来越流行,MongoDB数据库作为NoSQL数据库中的领头羊,使用也越来越广泛。为此,FineReport V8.0版本提供了数据连接和数据集接口,可以通过开发一款可以连接和使用的MongoDB数据库的插件。

    报表工具FineReport数据形态

    2. 公式应用实例:在一个具体案例中,FineReport报表工具中的公式功能可以实现对存储在数据库中的日期列进行格式转换。假设数据库中存储的日期格式为"yyyy-MM-dd",但是在报表中需要显示为"月份缩写-dd"的格式,比如...

    finereport在数据集中sql执行没结果,而放到mysql数据库中查询有结果.docx

    ### FineReport 数据集中 SQL 执行无结果问题分析与解决 #### 问题背景 在使用FineReport工具时,可能会遇到一种情况:在数据集中执行的SQL语句无法返回预期的结果,但同样的SQL语句直接在MySQL数据库中执行却能...

    finereport-单元格悬停显示图片.cpt模板

    finereport9.0的二次开发小功能:类似tooltip功能,鼠标一悬停单元格就显示 图片,移开就 没了,可控制哪个单元格显示.分享.cpt模板文件。本想免费的,csdn必须得要设置1分,纯属分享。。。

    finereport离线帮助文档

    3. **数据源配置**:数据是报表的核心,文档会详细介绍如何连接各种数据源(如数据库、API接口),以及数据集的创建与管理,包括SQL查询、参数化查询等高级功能。 4. **表达式与函数**:FineReport提供了丰富的...

    如何连接oracle数据库及故障解决办法

    连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障解决办法。 首先,在连接 Oracle 数据库之前...

    fineReport课后10题答案.zip

    10. **交互与联动**:FineReport的交互性是其一大亮点,如单元格间的数据联动、图表与表格的交互等。学习如何实现这些功能,可以提高报表的用户体验。 总的来说,这个压缩包提供的答案涵盖了FineReport从基础到进阶...

    finereport教程

    三、FineReport与服务器整合 整合FineReport到应用服务器是提高报表服务稳定性和性能的关键步骤。这里我们以Tomcat为例: 1. 安装部署:首先下载FineReport服务器版本,将其解压后放入Tomcat的webapps目录下,启动...

    FineReport报表制作流程

    本文将详细介绍FineReport报表的制作流程,包括数据准备、报表设计、报表预览、报表集成以及报表的使用与二次开发。 1. FineReport简介 FineReport是一款由帆软公司开发的报表软件,主要功能包括报表设计、数据展示...

    finereport10习题答案.zip

    2. **数据连接与查询**:FineReport允许用户连接多种数据库,如MySQL、Oracle等,进行数据查询。答案中可能涵盖如何设置数据源、编写SQL语句以获取所需数据。 3. **数据绑定与计算**:在报表设计中,数据通常需要与...

    FineReport与泛微OA深度集成解决方案

    FineReport 与泛微 OA 深度集成解决方案 FineReport 是一款功能强大且灵活的报表工具,而泛微 OA 是一款面向企业的协同办公软件。二者的深度集成能够为企业提供更加全面的信息化解决方案。本文将详细介绍 ...

    spring boot整合finereport

    本教程将深入探讨如何将Finereport与Spring Boot整合,以充分利用两者的优势,为企业提供高效的数据报表服务。 首先,整合Finereport和Spring Boot的关键在于引入必要的jar包。在提供的文件列表中,我们看到如`fr-...

    Web报表工具FineReport完整教程

    FineReport是一款由帆软软件公司开发的企业级报表工具,它支持多种数据源,如数据库、Excel、CSV等,提供拖拽式设计界面,使得非技术人员也能快速制作复杂的报表。同时,FineReport具备良好的扩展性和灵活性,能够...

    fineReport集成tomcat8.0.rar

    【标题】: "fineReport集成tomcat...通过以上步骤,你就成功地将FineReport与Tomcat 8.0进行了集成。这不仅让FineReport能够在服务器环境中稳定运行,还便于与其他Web应用进行集成,实现更高效的企业数据管理和分析。

    FineReport自学习题 V2.rar

    【FineReport自学习题 V2.rar】是一个针对FineReport软件的自学资源包,包含了丰富的学习题目和相关的图表制作示例,旨在帮助用户深入理解和掌握FineReport的各项功能。FineReport是一款强大的报表设计工具,广泛...

    FineReport与泛微OA集成

    FineReport与泛微OA集成方案,有详细的讲解与实施介绍。

Global site tag (gtag.js) - Google Analytics