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. Selenium_获取相对坐标

    <html> <head> <title>位置</title> <style> .test { background: url(" ...

  2. twitter通过oAuth验证获取json数据

    protected void Page_Load(object sender, EventArgs e) { var oAuthConsumerKey = "你的key"; var ...

  3. [LintCode] Reverse Integer 翻转整数

    Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ...

  4. 从jQuery中学习来的另一种继承方式(技巧)

    遵从Js的原型链规则,利用js灵活的特性灵活地改造原型,可以实现各种创意地继承方式,昨天研究了jQuery,对作者实现继承的方式感到佩服,他对js原型和原型链的理解比较透彻,运用自如.这里给出jQue ...

  5. lightetreeview

    http://www.16css.com/menu/905.html 其他树形菜单:很好--1.http://www.cnblogs.com/zhhh/archive/2011/11/25/22637 ...

  6. JAVA6开发WebService (一)

    转载自http://wuhongyu.iteye.com/blog/807470 WebService是SOA的一种较好的实现方式,它将应用程序的不同功能单元通过中立的契约(独立于硬件平台.操作系统和 ...

  7. 将文件系统数据库迁移到ASM中

    使用裸设备配置ASM实例 http://www.cnblogs.com/myrunning/p/4270849.html 1.查看我们创建的磁盘组 [oracle@std ~]$ export ORA ...

  8. Js navigator.onLine 获取设备是否可以上网、连接网络

    http://zccst.iteye.com/blog/2194229 获取用户的联网状态 if (navigator && navigator.onLine === false) { ...

  9. js打开没有地址栏下拉条新窗口

    <script type="text/javascript" language="javascript"> function vNodeAuditL ...

  10. BizTalk开发系列(三十四) Xpath

    XPath 是在 XML 文档中查找信息的语言,在BizTalk的开发中应用非常广泛,当然你可以不必先学Xpath再去学BizTalk.但是如果对Xpath有一定了解的 话,在很多应用下会使你的开发更 ...