填报应用 >> 行式填报表 >> 单行与数据库交互的方法

楼主
我是社区第56952位番薯,欢迎点我头像关注我哦~
本帖最后由 EchoMengjiong 于 2015-9-18 16:41 编辑

  
单行与数据库交互的方法
  
1.   问题描述
       我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作,将该行数据直接与数据库交互,执行存储过程过程。我们可以通过每一行增加帆软“插入”按钮实现插入动作,并且在控件事件中增加和数据库的交互,但当事件过多时帆软无法稳定地实现交互,会出现数据丢失或者数据库连接出错等问题。因此,这篇文档介绍一种单行数据和数据库交互的方法
2.   实现思路
     在帆软报表的设计思路中,通过模板-->报表填报属性实现和数据库的交互才是常规手段,且过程稳定不容易出错。因此,采用在按钮事件中写入JS事件,调用填报属性,并且用填报条件来限制入库数据来实现单行填报。
3.   示例
      我们假设产品库存量为现有量,然后申请订购后就从库存量里减去订购的数量,在每一行的数据进入数据库后,可以看到库存量的变化
3.1打开报表
打开报表
3.2编辑Js语句记录订购产品名
右键产品名称-->控件设置-->事件编辑-->新建事件-->编辑结束。写js语句,contentPane.setCellValue("G1",null,this.getValue());。将新增记录在G1单元格。
编写Js语句
3.3调用填报功能,设置填报条件
    模板-->报表填报属性-->内置SQL-->提交类型选择智能提交,在提交内容中分别将要提交的字段和单元格一一对应。
通过验证添加的数据是否是最新的数据来进行筛选。注意,G1单元格一定要设置成文本控件
填报数据
设置条件



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


对按钮进行事件编辑,点击-->编写Js语句:_g().writeReport();调用填报功能。
编写js语句调用填报功能。
3.5保存并预览
保存模板,点击填报预览,效果如下
报表样式
添加过程演示
可以看到库存量发生了变化(此处为demo数据库,无法增加新的字段,读者在实际使用的时候可以在数据库中增加一个字段,专门用来存放原始的库存量,为了页面美观,可以将H列隐藏 rowindatabase1.cpt (7 KB, 下载次数: 86) 单行存储进数据库的方法.docx (231.93 KB, 下载次数: 101)
分享扩散:
参与人数 +1 F币 +225 理由
传说哥 + 225 很给力!

查看全部评分

沙发
发表于 2015-8-26 09:25:42

板凳
发表于 2015-8-31 17:29:13
填报的话,希望用FRDemo数据库里的表做示例哦,要不然没法演示啊
地板
发表于 2015-9-6 16:43:10
5楼
发表于 2015-9-18 14:23:47
不好意思,里面有一处应该是错字了,应该是但当,而不是担当,
6楼
发表于 2016-8-14 12:20:25
7楼
发表于 2017-4-22 13:10:06
很好,学到东西
8楼
发表于 2017-4-27 17:27:46
超级棒!!!给乐于分享的大神点赞!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

13回帖数 2关注人数 9218浏览人数
最后回复于:2017-4-27 17:27

返回顶部 返回列表