批量操作选中与取消赋值问题

选中之后给固定单元格赋值为1,取消选中之后,赋值别的数或者为空。现在是选中赋值是可以实现了,但是取消选中后,之前赋的值还在

img_v2_1b067b79-efc5-4203-a986-3c8068f93cap.jpg

FineReport 0U8HGsVU 发布于 2023-8-14 19:04 (编辑于 2023-8-14 19:25)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
0U8HGsVULv3见习互助
发布于2023-8-15 16:50

var isAllChecked = true; //设置标记状态为选中var boxes = _g().getWidgetsByName("box");//获取当前页的复选按钮控件数组if (typeof(boxes[0]) != "undefined") {        for (i = 0; i < boxes.length; i++) {                isAllChecked = boxes[i].getValue() == true ? isAllChecked : false;                //如果控件大于1个,则遍历获取值,一旦出现未选中状态的按钮,则将标记值改为false        }} else {        isAllChecked = boxes.getValue();        //如果控件只有1个,则直接获取控件值,并传给标记值}//console.log(_g().getCellValue("A"+row))_g().setCellValue(0, 0, 1, isAllChecked);isAllChecked=_g().getCellValue("A"+row)_g().setCellValue("AD" + row, isAllChecked?0:2);//contentPane.curLGP.setCellValue("AA"+row,null,1);

最佳回答
0
CD20160914Lv8专家互助
发布于2023-8-14 19:31(编辑于 2023-8-14 19:34)

那取消的时候,你要重新赋值为空就行了。。。

你参考这个直接多加一句赋值就行了

JS实现复选按钮控件全选和批量操作- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-8-15 08:58(编辑于 2023-8-15 09:03)

var isAllChecked = true;

//获取当前值var boxes = _g().getWidgetsByName("box");

//获取当前页的复选按钮控件数组

if (typeof(boxes[0]) != "undefined") {

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

//获取行列号对象

var cr=FR.cellStr2ColumnRow(boxes[i].options.location);

isAllChecked=boxes[i].setValue();

_g.setCellValue(0,26,cr.row,isAllChecked);//aa列赋值

}

} else {

var cr=FR.cellStr2ColumnRow(boxes.options.location);

isAllChecked=boxes.setValue();

_g.setCellValue(0,26,cr.row,isAllChecked);//aa列赋值

}

_g.setCellValue(0,0,1,isAllChecked);

最佳回答
0
snrtuemcLv8专家互助
发布于2023-8-15 09:00(编辑于 2023-8-15 09:01)

其实你这个不需要写js,直接在后面的单元格,写if语句,假设这个复选框在A3

你直接需要赋值单元格

=if(A3,"1","你要的值")

  • 2关注人数
  • 407浏览人数
  • 最后回答于:2023-8-15 16:50
    请选择关闭问题的原因
    确定 取消
    返回顶部