填报应用 >> 多sheet填报 >> 多sheet应用

多sheet应用

顶( )
最后更新日期: 2019-10-16 人发表评论 (点击查看)
重新加载,重新加载sheet,重新加载当前sheet,刷新sheet,
1. 描述
多sheet报表在实际项目中应用是比较广泛的,相比较于单sheet报表,多sheet报表一般性功能不会特别的复杂,下面介绍几个多sheet里面的典型应用。
2. 重新加载当前sheet
在对当前sheet进行编辑的时候,比如说需要点击某个按钮刷新重新加载当前sheet,如下图:
刷新当前sheet会清除当前sheet的编辑痕迹,而不影响到其他sheet。
打开设计器,选中刷新按钮,为该按钮添加一个点击事件,如下图:
js代码为:
  1. contentPane.reloadCurLGPPane();  
3. 跨sheet校验
在对多sheet进行填报的时候,往往需要从其他sheet取数参与计算,或者以其他sheet的数据为依据,对当前sheet的填报数据进行一定的约束,这个就是跨sheet校验。
跨sheet校验应用在两个方面:提交校验js校验
在提交数据之前对数据进行校验,比如说,当前模板有2个sheet,sheet1里面的某个数据与sheet2里面的某个数据的和必须满足特定条件。
如下图,点击模板>报表填报属性,切换到数据校验标签,添加一个内置校验,校验公式为sheet1!A2+sheet2!B2>1000,校验出错信息为shee1的A2单元格与sheet2的B2单元格和值太小
注:校验公式中直接跨sheet取数进行计算,跨sheet取数详细请查看多sheet数据计算
使用js对多sheet进行校验,原理是将其他sheet的数值通过FR取数方法赋值给js里面定义的参数,然后参与校验。
比如说,在编辑sheet2里面的B2单元格的时候,如果sheet1的A2单元格与sheet2的B2单元格的和小于1000,则提示警告,如下图:
在sheet2的B2单元格的控件添加一个编辑结束事件,如下图:
js代码为:
  1. var para=contentPane.getCellValue(0,0,1);//获取sheet1里面的A2单元格数据  
  2. var value=this.getValue();//获取当前单元格数据  
  3. var sum=parseInt(para)+parseInt(value);//将字符串转换为整形并求和  
  4. if(sum<1000){alert("shee1的A2单元格与sheet2的B2单元格和值太小");}  
由上图的js代码可知,在js中进行跨sheet校验,获取其他sheet的单元格值可通过方法contentPane.getCellValue(sheet号,列号,行号); //sheet号行号列号是从0开始 来获取,详细请参照填报预览JS实例
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3