在web报表项目的填报流程中,用户经常会遇到需要按照某个模板来填报内容。本文介绍用快逸报表如何实现数据的回填功能。

第一步设计两张填报表,第一张作为接受回填数据的报表,第二张张作为填入数据的模板,其中第二张报表是通过第一张报表的超链接打开的。

首先制作一张接收数据回填的填报表,在B2单元格输入:”单击此处打开填报模板”,并在右侧B2单元超链接的表达式中输入如下内容:”javascript:openNewWindow(’showReport.jsp?raq=/填报模板.raq&refreshFather=yes’,800,600)”

调用JS函数openNewWindow打开填报模板。第一张报表的样式如下图所示:

然后设计第二张填报模板,在C2单元格内填入”回填” ,设置C1单元格为可写属性,在C2单元格的超链接属性的表达式里写入:”javascript:changePTCellValue(’B4′,’B2′,’B2′,’0′,4)”,调用JS函数实现数据的回填。提问模板的样式如下图所示:

第二步需要设计两个JS函数来实现这个回填的功能,其中在超链接中打开新窗口的JS函数,本文起名叫openNewWindow,代码内容如下:

function openNewWindow(URL,width,Height)

{ var top,left; left=(window.screen.width-width)/2; top=(window.screen.height-Height)/2-40;

window.open(URL,””,”left=”+left+”,top=”+top+”,width=”+width+”,height=”+Height+”,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes, resizable=no”);}

第二个函数是回填的函数,其代码如下:

function changePTCellValue (aimCell,showValue,realValue,count,oldNumber)

{ var cell=’report1_’+showValue; var aimData=document.getElementById(cell).value; count=parseInt(count); var aimCell=”B”+(oldNumber+count*10).toString();

window.parent.opener.document.all["report1_"+aimCell].value=aimData;//保存数据库的值,提交的值

window.parent.opener.document.all["report1_"+aimCell].innerText=aimData;//页面显示值

window.parent.close();

}

这段代码的含义是取到模板中填入数据的单元格的ID,通过遍历要回填的模板中单元格ID,取到这些ID对应的单元格的值,然后赋给接受回填的报表中相应的单元格。然后把这两段JS函数的代码放到一个新建的JS文件中,把这个JS文件起名为appQuicker.js,JS文件的样式如下图所示:

第三步用快逸自带的showReport.jsp发布这两个报表,要在JSP里引入刚才写好的JS文件,在JSP中加入如下内容:,并把JS文件appQuicker.js放在reportJSP文件夹中,与showReport.jsp在同一路径下即可。JSP引入JS文件的方式如下图所示:

然后用快逸自带的tomcat发布这两张报表,单击”单击此处打开填报模板”,弹出提问模板,在提问模板中填入:测试回填,然后点击回填按钮,就会看到数据自动回填到接受回填的报表中,这样回填功能就实现了。测试过程的截图如下面三个图所示:

java数据回填_快逸数据回填的实现方法相关推荐

  1. 深度学习数据自动编码器_如何学习数据科学编码

    深度学习数据自动编码器 意见 (Opinion) When I first wanted to learn programming, I coded along to a 4 hour long Yo ...

  2. excel导入数据校验_使用Excel数据验证限制日期范围

    excel导入数据校验 Yesterday, one of my clients emailed to let me know that she was having trouble entering ...

  3. java 多选列表框_快逸报表:填报中的下拉多选列表框

    在快逸报表应用的填报页面中,下拉框是最常见的了.下拉选择框可以简化用户的输入,可以避免用户的错误录入,还可以轻松实现中文与代码的映射关系,可谓用途多多. 可是随着业务的越来越复杂,各种奇怪的需求均可能 ...

  4. 什么是java的元数据_学习大数据,为什么要先学习Java?

    是新朋友吗?记得先点蓝字关注我哦- 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析  人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao ...

  5. java热力图分布_热力图-自有数据图层-示例中心-JS API 示例 | 高德地图API

    热力图 html, body, #container { margin: 0; padding: 0; width: 100%; height: 100%; } 显示热力图 关闭热力图 var map ...

  6. rdd数据存内存 数据量_「大数据」(七十七) Spark之IO机制

    [导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[77]篇文章,欢迎阅读和收藏] 1 基本概念 与传统的 IO 相比, Spark IO 有很大区别.传统的数据存在单个计算 ...

  7. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景

    深度学习数据更换背景 数据科学教育 (DATA SCIENCE EDUCATION) 目录 (Table of Contents) The Importance of Context Knowledg ...

  8. 查询数据库中有多少个数据表_您的数据中有多少汁?

    查询数据库中有多少个数据表 97%. That's the percentage of data that sits unused by organizations according to Gart ...

  9. 前置交换机数据交换_我们的数据科学交换所

    前置交换机数据交换 The DNC Data Science team builds and manages dozens of models that support a broad range o ...

最新文章

  1. java 类隔离_微服务架构中zuul的两种隔离机制实验
  2. HDU4756(次小生成树)
  3. DES加密实现的思想及代码
  4. 思科快速转发机制(CEF-Cisco Express Forwarding)
  5. VoltDB公布4.0版本号,大步提高内存实时分析速度,进军操作数据库市场
  6. 不戴眼镜听不清?Google用视觉信号分离语音 | 附论文
  7. Java同步组件之CountDownLatch,Semaphore
  8. SEO:提高关键词排名的28个SEO技巧
  9. 如何在JavaScript中获取字符串数组的字符串?
  10. mysql重复你数据标识_MySQL 处理重复数据
  11. nodejs fs模块
  12. SqlServer2008R2软件下载安装教程
  13. linux 脚本加密工具下载,linux truecrypt 加密工具
  14. 史上最全三维建模软件汇总
  15. Linux定时器实现
  16. JS封装数组API push,pop,shift,unshift,sort, reverse
  17. 微信朋友圈+html+字体颜色,微信新功能 酷炫的彩色微信名字 朋友圈彩色昵称设置方法...
  18. 2012网易校园招聘笔试题
  19. instagram架构_Facebook如何收购Instagram内幕故事
  20. 五大电影三部曲的DVD

热门文章

  1. (原创文章)羊毛党何去何从
  2. 如何解决excel表格损坏修复中所遇到的难题
  3. Java语言,什么是Java语言?Java的版本。
  4. 一个“脱裤子放屁“的功能!
  5. linux下安装 postgresql 14
  6. UTF8 中文占几个字节
  7. CTFHub-web前置技能-请求方式、302跳转、cookie、基础认证、响应包源代码
  8. html中h3字体不加粗取消,css如何取消加粗
  9. Sketch for UX Design Sketch UX设计教程 Lynda课程中文字幕
  10. Unity C# 网络学习(十二)——Protobuf生成协议