美文网首页
FineReport单行与数据库交互的方法

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

作者: 帆软 | 来源:发表于2017-04-26 14:39 被阅读98次

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单行与数据库交互的方法

    1. 问题描述 我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作,将该行数据直接与数据库交互,执行存储...

  • 0424-web:MVC/spring-mvc

    web应用的功能分解(mvc):交互界面(jsp),资源/方法定位(route)与调用,数据库访问与修改(serv...

  • sequelize的使用

    sequelize的使用 与数据库交互有两种方法: 使用数据库的原生查询语言(例如SQL) 使用对象数据模型(Ob...

  • OC与JavaScript交互

    OC与JavaScript交互# UIWebView与JavaScript交互的方法是stringByEvalua...

  • 2018-12-24

    帆软报表设计器同步服务器环境 使用要求说明1、FineReport使用平台外置MySQL数据库,例如指定数据库名称...

  • 【译】关系对象模型 typeorm 下

    typeorm 有什么用?typeorm 以操作对象方法的方式与数据库交互,而不是像传统库(mysql)那样需要写...

  • 【译】关系对象模型 typeorm 上

    typeorm 有什么用?typeorm 以操作对象方法的方式与数据库交互,而不是像传统库(mysql)那样需要写...

  • Golang Mysql笔记(二)--- CURD基础

    数据库查询 我们了解了数据库连接与连接池。拿到了连接当然就是为了跟数据库交互。对于数据库交互,无怪乎两类操作,读和...

  • 第二集 初识php

    今天任务: php基本语法,处理数据方式,流程,与数据库交互,与前端交互。 将澳洲源码导入,开始尝试阅读,并在本地...

  • JDBC Statements

    JDBC Statements 当获得了与数据库的连接后,就可以与数据库进行交互了。 JDBC Statement...

网友评论

      本文标题:FineReport单行与数据库交互的方法

      本文链接:https://www.haomeiwen.com/subject/xqbizttx.html