目前的思路是根据之前一位大佬的 JS 来的: 首先是 单选 编写了两个 JS: 初始化: if (!window.lineboxes) { window.lineboxes = []; //控件加入到一个全局数组里 } lineboxes[lineboxes.length] = this; 状态改变: //当前复选框未选择时,设置全选不选中 if(this.getValue()==false){ _g().setCellValue('D1',null,false); } else { var allChecked=true; //循环判断所有复选框都选中时,将全选复选框选中 for(var i=0;i<lineboxes.length;i++){ if(lineboxes[i].getValue()==false){ allChecked=false; } } //如果全选中时,自动让A1全选复选框选中 _g().setCellValue('D1',null,allChecked); } 全选框一个事件: 状态改变: 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, cr.row, flag); //逐一赋值当前状态 } 问题:上面的如果不考虑分页的话完全可以满足要求; 但由于数据量大,考虑到服务器资源的问题,填报预览需要用到(&__cutpage__=v)。造成数据加载的时候 JS全选 只能针对当前页面; 有没有大佬能帮忙看看能否在此基础上改动,在填报分页的情况下实现全选; 或者有没有其他的途径实现这种需求; |