帆软复选框选中并打印(按某种格式打印)数据分析、报填可用

1. 问题描述编辑

对于填报网格式报表,每行前面有个复选框,希望实现点击页面中设置的打印按钮可以将选中的复选框中的值按照一定的样式打印,如分栏、页面固定显示几行等格式。

2. 实现思路编辑

可以定义另外一个有固定格式的模板,此模板的数据是根据填报网格式报表中选中的值进行过滤,而在填报网格式报表中则需要在按钮的点击事件中定义js,js首先要获取选中行的数据,然后调用FineReport内置的打印方法,将选中的值以参数的方式加入到打印方法的URL中传到被打印的模板中。

步骤:

1.数据分析或填报复选框网络式报表如下 在A3新建控件复选框并设置左父格为B3,报表明细略

2.在B1处新建按钮控件命名为打印并设置JS点击事件 代码如下

  1. var $span = $('.fr-checkbox-checkon');  //获取选中的复选框  
  2. var darray = [];  
  3. var $tds = $("td").has($span); //获得选中复选框的单元格  
  4. for (var i = 0, len = $tds.length; i < len; i ++) {    //遍历选中的单元格  
  5.    var id = $($tds[i]).attr("id");  //给选中的单元格增加id属性  
  6. var idn = id.replace("A","B"); //将复选框所在的A列换成客户编号所在的B列  
  7. var vv=document.getElementById(idn).innerHTML;    //获取选中单元格所在B列的数据  
  8.   darray.push(vv);    
  9. //document.write(darray) //传出的值为'ZJ0001','ZJ0002'
  10. }  
  11. FR.doURLPDFPrint("${sevletURL}ReportServer?reportlet=/doc/Form/FormFAQ/PrintCol.cpt&ID="+darray);  //调用打印方法,URL为之前做好的模板路径  ;模版路径为自己 的实际路径

注:若获取的vv值为字符串,要将其放入数组中则需要修改成darray.push("'"+vv+"'")。

3. 新建打印模板CPT ,数据集如下SELECT * FROM 订单 where 订单ID in (${ID})。ID接受darray的传值,该值是可以数值或字符串

如果网格表中参数是字符应将JS代码中的第8行的 darray.push(vv) 换成darray.push("'"+vv+"'");传出来的就是字符串值,所以打印模板的数据集参数 ${ID} 不用添加‘ ’;添加只能传单个无法一次值入多个

4.选中复选框打印调用打印方法并传入查询参数获取数据

填报JS复选框选中传值的,可能冻结行 或不能冻结列

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值