感谢您的分享,但还是有点差异,以下是我的几个控件代码,麻烦您帮我改改试试,不胜感激 我的全选复选框添加事件-状态改变: var flag = this.getValue(); //获取当前值 var boxes = _g().getWidgetsByName("box"); //获取当前页的复选按钮控件数组 if (typeof(boxes[0]) != "undefined") { for (i = 0; i < boxes.length; i++) { var cr=FR.cellStr2ColumnRow(boxes.options.location); //获取行列号对象 _g().setCellValue(0,cr.col,cr.row,flag); //如果控件大于1个,则遍历赋值 } } else { var cr=FR.cellStr2ColumnRow(boxes.options.location); //获取行列号对象 _g().setCellValue(0,cr.col,cr.row,flag); //如果控件只有1个,则直接赋值 } -------------------------------------------------------------- 记录复选框添加事件-状态改变: var isAllChecked = true; //设置标记状态为选中 var boxes = _g().getWidgetsByName("box"); //获取当前页的复选按钮控件数组 if (typeof(boxes[0]) != "undefined") { for (i = 0; i < boxes.length; i++) { isAllChecked = boxes.getValue() == true ? isAllChecked : false; //如果控件大于1个,则遍历获取值,一旦出现未选中状态的按钮,则将标记值改为false } } else { isAllChecked = boxes.getValue(); //如果控件只有1个,则直接获取控件值,并传给标记值 } _g().setCellValue(0, 0, 1, isAllChecked); //将标记值赋给A2单元格 --------------------------------------------------------------------------------- 批量删除添加事件-点击: var boxes = _g().getWidgetsByName("box"); //获取当前页的复选按钮控件数组 var cells = []; if (typeof(boxes[0]) != "undefined") { for (i = 0; i < boxes.length; i++) { if (boxes.selected()) { cells.push(boxes.options.location); //如果控件大于1个,则遍历判断是否选中,将选中的控件所在的单元格编号塞进数组中 } } } else { if (boxes.selected()) { cells.push(boxes.options.location); //如果控件只有1个,则直接判断是否选中,选中的话把单元格编号塞进数组中 } } _g().deleteRows(cells); //根据单元格编号删除行 //_g().verifyAndWriteReport(true); //执行校验提交所有sheet,如有删除行时直接提交的需求,可以启用该句