1111填报分页如何获取复选按钮选中的行的某个值,页面包含冻结

填报分页如何获取复选按钮选中的行的某个值,页面包含冻结,

场景,选中第一页某行,返回选中行ID,翻到第二页选中某行,返回第二页选中行ID,翻到第三页选中某行,返回第三页选中行ID,然后把这些join,然后以URL形式,传参给到另一个模版

image.png

FineReport 罗罗诺亚索隆 发布于 7 天前 (编辑于 6 天前
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于6 天前

举个场景例子

最佳回答
0
华莉星宸Lv7资深互助
发布于6 天前
JavaScript代码实现
	// 获取所有复选框控件
	var checkboxes = _g().getWidgetsByName("checkbox_name"); 
	// 设置需要获取数据的列号(例如获取C列的值则设为2)
	var target_col = 2; 
	var selectedValues = [];
	 
	if (typeof(checkboxes[0]) != "undefined") {
	    var configs = [];
	    for (var i=0; i<checkboxes.length; i++) {
	        if (checkboxes[i].getValue()) {  // 判断复选框是否选中
	            // 获取选中行的行列号(已兼容冻结场景)
	            var cr = FR.cellStr2ColumnRow(checkboxes[i].options.location);
	            // 记录选中行指定列的值
	            selectedValues.push(_g().getCellValue(0, target_col, cr.row));
	            
	            /* 如果需要对选中行进行操作,例如设置批量修改值: */
	            configs.push({reportIndex:0, col:target_col, row:cr.row, value:"新值"});
	        }
	    }
	    // 关键冻结行适配(必须用setCellsValueInBatch)
	    _g().setCellsValueInBatch(configs); 
	} else {
	    if (checkboxes.getValue()) {  // 当仅有一个复选框时
	        var cr = FR.cellStr2ColumnRow(checkboxes.options.location);
	        selectedValues.push(_g().getCellValue(0, target_col, cr.row));
	    }
	}
	console.log("选中行的C列值:", selectedValues);  // 输出结果到控制台
	
冻结适配:
FR.cellStr2ColumnRow() 方法自动处理冻结行列映射,返回逻辑行列号。在需要修改值时必须使用 setCellsValueInBatch(),否则会造成样式错乱。1
字段获取:
target_col 参数为需要获取的列索引(首列从0开始)。如需获取不同列数据,按需修改此变量。
分页关联:
代码默认获取当前页选中的行,如需跨分页操作需要结合 分页遍历接口 实现。
📌 操作步骤
给复选按钮控件命名(如checkbox_name)
在填报页面添加「按钮控件」并绑定该JS代码
通过console.log或弹窗显示选中行的值

复选框配置示意图

  • 罗罗诺亚索隆 罗罗诺亚索隆(提问者) 大佬,我描述了一下我的那个场景,需求就是点击第一页某一行值,返回选中行ID,选中第二页某个行,返回这行ID,选中第三页某个行,返回选中行ID,然后把这选中行的ID,join之后以参数形式传给另一个页面里面去
    2025-06-22 15:15 
  • 罗罗诺亚索隆 罗罗诺亚索隆(提问者) 大佬那种跨分页 是怎么弄啊
    2025-06-23 08:50 
最佳回答
0
CD20160914Lv8专家互助
发布于5 天前

目前为止,还没有看到js对填报分页可以批量的操作的。都只是当前页的操作,分页后目前还没有示例

  • 3关注人数
  • 35浏览人数
  • 最后回答于:5 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部