var sm = new Ext.grid.CheckboxSelectionModel( {         //一个特定的选择模型,它将渲染一列复选框,可以用来选择或反选多行数据。
               handleMouseDown : Ext.emptyFn,          //不响应MouseDown事件
               renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){
                  if(record.get('state')=='1'){              //判断条件
                       sm.selectRow(rowIndex,true);             //符合的行 进行默认勾选      下面还有一些参考
                       return '<div class="x-grid3-row-checker" > </div>';      //返回的是一个复选框
                  }else{
                       return '<div ><input type="checkbox" style="margin:-1 0 0 -2" disabled/></div>';    //把复选框禁用  (完全禁用,显示的是实体小正方形)
                  }
                },
                listeners:{         //listeners监听可以根据需求 写或不写                                                                                                 
                   beforerowselect:function(SelectionModel, rowIndex, keepExisting,record){
                       if(record.get('status')!='1' ){
                          return true;      //返回true 可以进行勾选操作
                       }else{
                         return false;     //禁止勾选, (显示没效果,只有鼠标点击时才知道狗选不上)
                       }
                   },
                  selectionchange:function(sms){       //当选中状态发生改变时触发
                      var row= sm.getSelections();       //返回所有选中记录
                     if(sms.hasSelection()){                 //返回 选中:true   取消选中:false 
                         if(arr!=""){            
                           arr="";            //每次选择之前判断一下    解决数据累加的情况
                      }
                        for(var i=0;i<row.length;i++){           //选中条数遍历
                           if(row[i].get('state')=='1'){
                            arr += row[i].get('userid')+",";     //逗号分隔    params传入后台遍历数据
                          }
                        }
                    }
                  }

}
            });

renderer详解:

value:将要像是单元格里的值,即dataIndex的值

cellmeta:单元格的相关属性,主要是id和CSS

record:这行的数据对象。通过record.data['id']方式得到其他列的值

rowIndex:行号

columnIndex:当前列的行号

store:构造表格时传递的ds,也就是说,表格里所有的数据都可以通过store获得。

选中的状态:

  1. sm.selectAll();
  2. sm.selectFirstRow();
  3. sm.selectLastRow();
  4. selectNext();
  5. selectPrevious();
  6. selectRange( Number startRow, Number endRow, [Boolean keepExisting] ) ;
  7. selectRecords( Array records, [Boolean keepExisting] );
  8. selectRow( Number row, [Boolean keepExisting] );

          未禁用                     禁用    

全选状态

最终效果:

Extjs 3.4 复选框的,默认选中 ,禁用,(纯属于自己代码中需要,总结!)的更多相关文章

  1. Dtree 添加 checkbox 复选框 可以默认选中

    一:目标 要实现用一个树形结构的展示数据,每个节点(除了根节点)前有一个checkbox,同时,点击父节点,则子节点全选或者全不选,当选中了全部子节点,父节点选中:如下图所示: 同时可以在创建的时候, ...

  2. php一些单选、复选框的默认选择方法(示例)

    转载 http://www.php.cn/php-weizijiaocheng-360029.html 一. radio和checkbox及php select默认选择的实现代码 1.radio单选框 ...

  3. HTML复选框checkbox默认样式修改

    此方法可以将复选框的默认样式替换成任意样式.如图: 未选择: 选择时: 思路:将复选框隐藏,利用lebal元素的焦点传递特性,用lebal的样式替代复选框. 代码如下: <!DOCTYPE ht ...

  4. 判断easyUI tree 节点复选框是否被选中的方法。将选中的节点高亮显示的方法

    在datagrid tree中如何判断某个节点的复选框是否被选中? 我们可以通过HTML结构去分析: 1.节点未选中前 2.节点选中后 所以节点被选中前和选中后,html中的class类是用区分的. ...

  5. checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中

     checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中 <!DOCTYPE html> <html lang=" ...

  6. php数组转换字符串及复选框如何勾选中

    php数组转换字符串及复选框如何勾选中,应用到函数 implode  explode 复选框被选中后如何保存数据,表单提交过来为数组,要转换字符串 用到函数implode if(!empty($_PO ...

  7. jquery关于checkbox复选框是否被选中的问题

    本人在项目中需要用到,判断哪些复选框被用户选中.自然而然想到用 if($('').attr('checked') == true) 但是不管有没有选,$('').attr('checked')返回的都 ...

  8. easyui的combobox将得到的数据设定为下拉框默认值和复选框设定默认值

    通过easyui做了一个表,表里是从数据库拿到的数据. 现在双击某一行,通过点击行的id取到这一行的所有数据,现在需要修改这些得到的数据, 其中部分数据是<select>这个选择的, 问题 ...

  9. extjs 点击复选框在表格中增加相关信息行

    功能效果:点击复选框在表格中自动增加相关信息行,复选框取消则表格中内容自动删除 初始效果大概是这样~~~~~ // 定义初始 存放表格数据 var gridItems = []; //省份复选框 va ...

随机推荐

  1. poj 1995 裸快速幂

    1. poj 1995  Raising Modulo Numbers 2.链接:http://poj.org/problem?id=1995 3.总结:今天七夕,来发水题纪念一下...入ACM这个坑 ...

  2. Oracle 新手问答

    存储过程中,return后,如果没有写明提交(commit)或回滚(rollback),会默认提交吗?答:不会.如果修改了数据,又没有写明,则会将数据锁定在那里! 存储过程中,调用子存储过程异常时,在 ...

  3. js事件冒泡和事件捕获的区别

  4. linux文件描述符数量的坑

    ulimit -n  查看 单进程或线程,可打开的最大文件描述符数 通过ulimit -n 10240 设置文件描述符数: (当前shell生效,这真是个坑啊) 永久生效:(需要重启系统,也是个坑,好 ...

  5. HTML静态网页 标签、表格

    HTML静态网页: 打开DREAMWEAVER,新建HTML,如下图: body的属性: bgcolor 页面背景色 background  背景壁纸.图片 text  文字颜色 topmargin ...

  6. c#语句 随堂练习1

    1.请输入两个整数a,b,若a²+b²>100,则打印出a²+b²的结果,否则打印出a+b的结果. 2.有一组函数,y=x(x<1),y=2x-1(1<=x<10),y=3x- ...

  7. 一些变态的PHP一句话后门收集

    这类后门让网站.服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的.今天我们细数一些有意思的PHP一句话木马. 利用404页面隐藏PHP小马 ...

  8. IOS第八天(3:UITableViewController团购, 点击底部代码调整)

    ****代理者的方法中 // 通知页脚视图调整视图显示状态 [footerView endRefresh]; //发送代理通知的类中 /** 视图控制器刷新完成调用方法 */ - (void)endR ...

  9. C# 代码笔记

    一.使循环不卡 Application.DoEvents(); System.Threading.Thread.Sleep(5); 二.计算代码运行时间 Stopwatch sw = new Stop ...

  10. thinkphp3.2整合phpexcel

    由于thinkphp3.2使用命名空间,而 PHPExcel没有使用,那么两者整合的最重要问题就是如何导入的问题. 一.PHPExcel.php和PHPExcel文件夹都放在ThinkPHP/Libr ...