复选框实现多选套打的问题

image.png

FineReport H1Kt64ps 发布于 2024-12-27 00:09
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2024-12-27 06:36(编辑于 2024-12-27 09:19)

测试了下,在11版本,正常会报错,

好像获取不到id属性

==========

11版本改写发,控件需要命名,我的叫box,js如下

var box = _g().getWidgetsByName("box");

var darray = [];

if (box.length > 0) {

for (var i = 0; i < box.length; i++) {

if (box[i].getValue() === true) {

var vv = _g().getCellValue(0, 1, i + 2); //sheet号行号列号是从0开始   

darray.push(vv);

}

}

}

FR.doURLPDFPrint("${sevletURL}ReportServer?reportlet=/doc/Form/FormFAQ/PrintCol.cpt&ID=" + darray);

-------------

我是按模板ID在B3,取B3

var vv = _g().getCellValue(0, 1, i + 2);  //sheet号行号列号是从0开始   

你是取C4值

var vv = _g().getCellValue(0, 2, i + 4);

最佳回答
0
CD20160914Lv8专家互助
发布于2024-12-27 09:41(编辑于 2024-12-27 09:42)

把编辑文档的人拉过批评吧。。不知道复制怎么出错了!!是可以的,只是你复制的不行报错。是因为文本的变量本来就写错了!!!

正常是可以的

var $span = $('.fr-checkbox-checkon');  //获取选中的复选框

var darray = [];

var $tds = $("td").has($span); //获得选中复选框的单元格

for (var i = 0, len = $tds.length; i < len; i ++) {    //遍历选中的单元格

   var id = $($tds[i]).attr("id");  //给选中的单元格增加id属性

var idn = id.replace("A","C"); //将复选框所在的A列换成客户编号所在的C列

var vv=document.getElementById(idn).innerHTML;    //获取选中单元格所在C列的数据

  darray.push(vv);  

}

FR.doURLPDFPrint("${servletURL}report?viewlet=33446.cpt&order_id="+darray);  //调用打印方法,URL为之前做好的模板路径

servletURL不等于 sevletURL

image.png

代码修改后就马上可以了!

image.png

打印跳转的结果!!!

image.png

image.png

  • H1Kt64ps H1Kt64ps(提问者) 还是报错 我是A列 跟 C列替换
    2024-12-27 10:10 
  • CD20160914 CD20160914 回复 H1Kt64ps(提问者) 我测试了不会报错的!你的语句是如何写的。
    2024-12-27 11:02 
  • H1Kt64ps H1Kt64ps(提问者) 回复 CD20160914 var $span = $('.fr-checkbox-checkon'); //获取选中的复选框

    var darray = [];

    var $tds = $("td").has($span); //获得选中复选框的单元格

    for (var i = 0, len = $tds.length; i < len; i ++) { //遍历选中的单元格

    var id = $($tds[i]).attr("id"); //给选中的单元格增加id属性

    var idn = id.replace("A","C"); //将复选框所在的A列换成客户编号所在的C列

    var vv=document.getElementById(idn).innerHTML; //获取选中单元格所在C列的数据

    darray.push(vv);

    }
    FR.doURLPDFPrint("${servletURL}report?viewlet=/template/HDRS/jieyang/pay_concat_apply.cpt&ID="+darray); //调用打印方法,URL为之前做好的模板路径
    2024-12-27 14:40 
  • CD20160914 CD20160914 回复 H1Kt64ps(提问者) 你的报表是不是这个路径 ?还有你的id是文本还是数字?
    2024-12-27 14:50 
  • H1Kt64ps H1Kt64ps(提问者) 回复 CD20160914 id是文本
    2024-12-27 15:09 
  • 3关注人数
  • 58浏览人数
  • 最后回答于:2024-12-27 09:42
    请选择关闭问题的原因
    确定 取消
    返回顶部