历史版本4 :JS实现复选按钮控件全选和批量操作 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

在使用我们的复选框控件的时候,如何实现点击全选,则下面的所有信息都被选中呢?效果如下:

2. 解决思路编辑

在复选框中的初始化事件中把控件加入到一个全局数组里,然后在全选复选框里对数组里的控件进行遍历赋值。

3. 示例编辑

3.1 模板准备
新建一张模板,sql为SELECT top 100 * FROM [订单]
3.2 报表主体设计
设计样式如下图:
3.3 复选框设置
  • 全选复选框设置
添加一个状态改变事件,js如下:
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);            //逐一赋值当前状态   }  
  • 单选复选框设置
添加一个初始化事件,js如下:
if (!window.lineboxes) {         window.lineboxes = [];        //控件加入到一个全局数组里   }     lineboxes[lineboxes.length] = this;  
3.4 保存与预览

点击填报预览,就可看到上图效果,一完成模板请参照%FR%\WebReport\WEB-INF\reportlets\doc\Form\WidgetExample\CheckBoxSelectAll.cpt