GridPanel列头带有复选框的列
Posted thaipine
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GridPanel列头带有复选框的列相关的知识,希望对你有一定的参考价值。
由于工作需要,封装了ExtJS4,GridPanel列头带有复选框的列,
代码如下:
1 /** 2 * 列头带有复选框的列 3 * 4 */ 5 Ext.define("org.pine.widget.CheckBoxColumn", 6 extend : "Ext.grid.column.Column", 7 xtype : ‘xcc_cfets_checkboxcolumn‘, 8 requires:[ 9 ], 10 /** 属性定义 */ 11 config: 12 , 13 14 constructor: function (config) 15 console.info(this.$className+‘==>‘+arguments.callee.name); 16 var self = this; 17 self.initConfig(config);//初始化配置 18 self.callParent(arguments);//调用父类构造方法 19 , 20 initComponent: function () 21 console.info(this.$className+‘==>‘+arguments.callee.name); 22 var self = this; 23 self.addEvents(‘xcc_cfets_checkboxcolumn_checked‘); 24 var renderTpl = 25 ‘<div id="id-titleEl" tipMarkupclass="‘ + Ext.baseCSSPrefix + ‘column-header-inner">‘ + 26 "<input type=‘checkbox‘>"+ 27 ‘<span id="id-textEl" class="‘ + Ext.baseCSSPrefix + ‘column-header-text‘ + 28 ‘childElCls">‘ + 29 ‘text‘ + 30 ‘</span>‘ + 31 ‘<tpl if="!menuDisabled">‘+ 32 ‘<div id="id-triggerEl" class="‘ + Ext.baseCSSPrefix + ‘column-header-trigger‘ + 33 ‘childElCls"></div>‘ + 34 ‘</tpl>‘ + 35 ‘</div>‘ + 36 ‘%this.renderContainer(out,values)%‘; 37 self.renderTpl=renderTpl; 38 self.renderSelectors= 39 checkbox: "input[type=‘checkbox‘]" 40 ; 41 self.callParent(arguments); 42 self.on(‘afterrender‘,function(comp, eOpts ) 43 var checkboxDom = comp.checkbox.dom;//复选框 44 checkboxDom.onclick = function (event) 45 console.info("复选框选中状态==>"+checkboxDom.checked); 46 comp.fireEvent(‘xcc_cfets_checkboxcolumn_checked‘,comp,checkboxDom,checkboxDom.checked); 47 event.stopPropagation();//停止事件向上传播 48 ; 49 ); 50 , 51 /** 52 * 获取复选框的选中状态 53 */ 54 isChecked: function () 55 return this.checkbox.dom.checked; 56 , 57 /** 58 * 设置复选框的选中状态 59 * @param checked 是否选中 60 */ 61 setChecked: function (checked) 62 this.checkbox.dom.checked = checked; 63 64 );
以上是关于GridPanel列头带有复选框的列的主要内容,如果未能解决你的问题,请参考以下文章
带有复选框 selModel 的 ExtJs Gridpanel 窗口,在第二次打开时不显示复选框