怎么实现复选框全选,选择第一个复选框,第二个复选框就能全选,

微信图片_20230518141018.png 为什么 用这个方法获取第二个控件 contentPane.getWidgetByName("box").setValue(true);不好使?

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

试试B1状态改变事件

var flag=this.getValue(); //获取当前复选框控件的状态,true /false

for(var i=0;i<window.lineboxes.length;i++){ //循环遍历每个复选控件

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

//由每个控件位置获取行号列号

_g().setCellValue(cr.col+2, cr.row, flag); //逐一赋值当前状态

}

--------

//初始1

if (!window.checkboxes) {    

 window.checkboxes = [];//如果全局数组checkboxes未定义,则创建一个空的全局数组,用于保存复选框对象,便于遍历

}    

checkboxes[checkboxes.length] = this;  //把当前复选框控件加到数组中,页面加载的时候,控件是逐个初始化的,第一个控件加载时checkboxes.length为0,相当于checkboxes[0]=this,第二个控件初始化时checkboxes.length为1,相当于checkboxes[1]=this,以此类推

//初始2

if (!window.lineboxes) {

window.lineboxes = [];        //控件加入到一个全局数组里

}

lineboxes[lineboxes.length] = this;

WorkBook1.rar

  • yzmhaRR81664191 yzmhaRR81664191(提问者) 不行啊 window.lineboxes undifinde
    2023-05-18 14:20 
  • Z4u3z1 Z4u3z1 回复 yzmhaRR81664191(提问者) 补充了 下面的控件增加两个初始化后事件
    2023-05-18 14:27 
  • Z4u3z1 Z4u3z1 回复 yzmhaRR81664191(提问者) 模板传上来了,你可以下载参考
    2023-05-18 14:27 
  • yzmhaRR81664191 yzmhaRR81664191(提问者) 回复 Z4u3z1 试了一下 也不可以啊
    2023-05-18 14:35 
最佳回答
0
年年plusLv5中级互助
发布于2023-5-18 14:23(编辑于 2023-5-18 14:55)

D2复选框单元格用公式写 if(B2=TRUE,TRUE,FALSE)

image.png

  • yzmhaRR81664191 yzmhaRR81664191(提问者) 不行啊 这个方式也不可以
    2023-05-18 14:30 
  • 年年plus 年年plus 回复 yzmhaRR81664191(提问者) 我本地能实现的,你要不发一下内置模板?
    2023-05-18 14:53 
  • yzmhaRR81664191 yzmhaRR81664191(提问者) 回复 年年plus 那如果我下面的第二个控件其中有一个不选了 会全选的状态会改吗
    2023-05-18 15:05 
  • 2关注人数
  • 221浏览人数
  • 最后回答于:2023-5-18 14:55
    请选择关闭问题的原因
    确定 取消
    返回顶部