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. 整理iOS9适配

    整理iOS9适配 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版, ...

  2. RSA_RSA算法原理(一)

    如果你问我,哪一种算法最重要?我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先简 ...

  3. cocos2dx中设置横竖版

    IOS目录中RootViewController.mm//显示竖屏- (BOOL) shouldAutorotate { return NO;} //显示横屏- (BOOL) shouldAutoro ...

  4. 自己做的一个小demo

    上图: 主段代码: <script type="text/javascript"> var getRandomColor = function(){ return (f ...

  5. 做为一名dba你应该知道这些数据恢复

    1.将备份数据   拉取到本地虚拟机上 进行恢复(千万不要把数据直接恢复到生产中,除非迫不得已!!)   2.在本地虚拟机上恢复之后,导出需要恢复的数据.   3.在本地虚拟机上恢复做恢复测试.   ...

  6. TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement.

    我今天写程序的时候遇到的问题,开始完成功能后没发觉.当再次部署程序更新时候,出的错误,通过firebug发现提示是TypeError: 'stepUp' called on an object tha ...

  7. 2016HUAS暑假集训训练2 A - Is It A Tree?

    Description A tree is a well-known data structure that is either empty (null, void, nothing) or is a ...

  8. Unity3d优化

    检测方式: 一,Unity3D 渲染统计窗口 Game视窗的Stats去查看渲染统计的信息: 1.FPS fps其实就是 frames per second,也就是每一秒游戏执行的帧数,这个数值越小, ...

  9. BizTalk 开发系列(四十二) 为BizTalk应用程序打包不同的环境Binding

    我们在使用微软或者其他公司提供的BizTalk应用程序MSI包的时候经常会有一个目标环境的选择选项.该选项可以在不同的环境下使用不同的绑定(BizTalk应用程序配置)感觉很高级. 其实这个非常的简单 ...

  10. BizTalk开发系列(十) ESB Guidance安装笔记

    ESB指导工具包(ESB Guidance)是一个运行于BizTalk Server 2006 R2之上的一个框架.详细信息访问ESB指导工具包社区网站 .源码下载 ESB Guidance的安装过程 ...