需求

润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互。

问题

润乾报表在前台会生成自己的form,嵌入到的jsfform标签中后,出现两个form嵌套的情况,造成报表无法填报和提交。

Jsf1.1版本本身不支持两个form的提交,所以form并列的方式也不可取。

可行解决方案:

1:填报表解析后本身不作为一个form,当我们点击提交的时候动态生成一个iframe,这个iframe中生写一个form,再把报表数据写到这个form中去做提交保存操作。

2:可选择是否生成form

1)当润乾填报表使用在jsfform标签中时,选择不生成form,然后可以通过js方法遍历获取到填报的数据,将数据和其他填报套件的数据一同提交到后台处理。

2)当润乾填报表单独使用时,不嵌套在jsfform标签中,选择生成form,润乾填报表可以填报保存数据。

实现的解决方案:

对于其它填报控件中数据需要和润乾填报的数据进行交互的情况,前台获取润乾填报表数据,跟用户自己开发的填报控件数据一同提交不失为一种很好的方法,因为这样数据可以直接进入客户的业务处理类进行交互处理。

目前润乾报表已经支持第二种处理方法,即选择不生成form标签。使用方法:

<f:view>

<h:form>

<f:subview id=“a”>

<f:verbatim>

<report:html name=“report1″ reportFileName=“mydataset.raq”

funcBarLocation=“top”

needPageMark=“yes”

needPrint=“yes”

needSaveAsWord=“yes”

submit=保存

generateParamForm=”no”

width=“-1″

reportEnterUrl=“add.jsf”

generateSubmitForm=“no”

exceptionPage=“/reportJsp/myError2.jsp”/>

</f:verbatim>

</f:subview>

<input name=“get1″ value=查看值1″ type=“button” type=“form1″ onClick=“getInputData()”>

<input name=“get2″ value=查看值2″ type=“button” type=“form1″ onClick=“getCycle()”>

</h:form>

</f:view>

遍历报表填报表中输入的数据,包括真实值,显示值,单元格与数据库字段的对应关系(单元格定义的html事件)的js:

<script type=”text/javascript”>

function getCycle(){  //cellName为扩展格的名称,n为扩展出几个,reportName为tag的name属性
_submitEditor(document.getElementById(‘report1′));
var rpt = document.getElementById(“report1″);
//获得报表的行数
var rowCount = rpt.rows.length;
//alert(rowCount);
//获得报表的列数
var colCount = rpt.rows[0].cells.length;
//alert(colCount);

for(var j=1;j<=colCount;j++){
var cname=”";
if(j==1) cname=”report1_A”;
if(j==2) cname=”report1_B”;
if(j==3) cname=”report1_C”;
if(j==4) cname=”report1_D”;
if(j==5) cname=”report1_E”;
if(j==6) cname=”report1_F”;
if(j==7) cname=”report1_G”;
for(var i=1;i<=rowCount;i++){
var cname1=cname+i.toString();
if(document.getElementById (cname1).modifiable){
var tempValue = document.getElementById (cname1).value; //获得单元格的真实值
      alert(“单元格”+i+”的真实值是”+tempValue);
var xsValue = document.getElementById (cname1).innerText; //获得单元格的显示值
      alert(“单元格”+i+”的显示值是”+xsValue);
var dbfiled = document.getElementById (cname1).dbfiled; //获得单元格的定义的html事件名称
      alert(“单元格”+i+”的数据字段是”+dbfiled);
}
}
}
}

//–>
</script>

总结:

数据交互即可后台处理,也可前台处理,以上方案适用于jsf使用自定义填报套件和润乾填报表一同进行数据保存处理或者jspform中使用润乾填报表的业务场景

转载于:https://www.cnblogs.com/shiGuangShiYi/p/10117501.html

润乾报表JSF FORM 标签中使用填报表解决方案相关推荐

  1. 33.form标签中的GET和POST提交方式

    form标签中的GET和POST 在HTML中,form表单的作用是收集标签中的内容,<form>...</form> 中间可以由访问者添加类似于文本,选择,或者一些控制模块等 ...

  2. form标签中的target属性学习

    最近工作中涉及到一些前台jsp页面的操作,在窗口显示过程中有一些调整,再次回想起form标签中target属性,记录一下. target 属性规定在何处打开 action URL. form.targ ...

  3. 报表模板 — 在项目管理中应用数据报表分析

    项目管理是在项目活动中运用专门的知识.技能.工具和方法,使项目能在有限资源下,实现或超过设定的需求和期望的过程,是对成功地达成一系列目标相关的活动的整体监测和管控. 无论是在大型工程.软件开发.系统制 ...

  4. 报表模板—在项目管理中应用数据报表分析

    项目管理是在项目活动中运用专门的知识.技能.工具和方法,使项目能在有限资源下,实现或超过设定的需求和期望的过程,是对成功地达成一系列目标相关的活动的整体监测和管控. 无论是在大型工程.软件开发.系统制 ...

  5. 润乾报表CookBook与使用

    part1 1. 数据源相关 1.1 报表工具连接文本数据 1.2 报表工具连接非关系数据库(待补充) 1.3 报表异构数据源关联混算 1.4 报表工具 json 数据源 1.5 报表工具连 sap ...

  6. 报表工具对比之润乾报表与锐浪报表对比

    目前市场上报表工具五花八门,国内的.国外的.开源的.收费的,让人不免有眼花缭乱之感.本文将简单地从报表设计.数据处理.数据填报.数据分析.集成调用几方面对大家使用的比较多的润乾报表和锐浪报表(Grid ...

  7. 中国式复杂报表:按段分组报表制作对比(润乾 vs 帆软)

    概述 报表是用表格.图表等格式来展现数据的工具,不仅格式多样,其中数据更是要体现出动态的效果.其中,分组报表是常见的一种类型,包括按区域.产品类别.客户.年度.季度.月份等不同条件分组. 上图是一个典 ...

  8. php中的method是什么意思,HTML中的form标签的method属性怎么用?这里有method属性的用法介绍...

    本篇文章主要的介绍了关于HTML中的form标签的method属性的定义及其用法解释,做了详细的解释,后面还有两个常见的问答和method属性的实例,现在就让我们一起看下去吧 首先我们来看看HTML中 ...

  9. 润乾V5与springBoot集成

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.下面 ...

最新文章

  1. Mybatis的工作原理,你了解过吗?
  2. 从String中移除空白字符的多种方式!?差别竟然这么大!
  3. 第二百三十一天 how can I 坚持
  4. Effective C# 原则50:了解ECMA标准(译)
  5. sublime text3运行python不显示内容_sublime text 运行python无法出结果
  6. 慈不掌兵,义不行贾,烂好人难成大业!
  7. [软技能] 你认为计算专业和非计算机专业的差别在哪?为什么?
  8. snmp v3的安全配置 snmp认证与加密配置(53)
  9. 用 as with ,和 ROW_NUMBER() 做分页查询
  10. 【Python第三篇】Python装饰器、生成器、迭代器
  11. jPList – 实现灵活排序和分页功能的 jQuery 插件
  12. Linux下unzip乱码问题解决
  13. 项目管理中的配置管理
  14. 【IMU】BMI160 Driver分析及使用
  15. Zynga任命Noel Watson为董事会成员
  16. python图片压缩原理_LZ77无损压缩算法原理详解(结合图片和简单代码)
  17. Pandas官方文档!(中文版PDF下载)
  18. 内联函数let、also、with、run、apply的用法
  19. 2020年最新WorldFirst注册图文教程(0.3%提现费)
  20. 2019-01-25T01:30:00.000+0000 格式转换

热门文章

  1. 百度之星度度熊与邪恶大魔王
  2. Spark快速上手-WordCount案例
  3. python绘图添加上下标
  4. Hugo + github 搭建个人博客
  5. R语言学习笔记(十一):广义线性模型
  6. Git: 生成ssh公钥
  7. ionic+angularJS+iOS混合开发app的学习资料介绍和基本步骤(干货)
  8. matlab 基础知识class lt; superclass_name
  9. Silverlight实用窍门系列:35.细解Silverlight冒泡路由事件和注册冒泡路由事件【附带实例源码】...
  10. 如何消费WCF Data Services定义的服务操作