长话短说,具体的请看图

需求如图:

修改CheckColumn.js源码,添加鼠标点击改变事件

完整JS脚本

 Ext.ns('Ext.ux.grid');
Ext.ux.grid.CheckColumn = Ext.extend(Ext.grid.Column, {
editable: true,
processEvent: function (name, e, grid, rowIndex, colIndex) {
if (name == 'mousedown') {
prj.curGrid = grid;
this.init(name, e, grid, rowIndex, colIndex);
var record = grid.store.getAt(rowIndex);
this.fireEvent('checkchange', this, record.data[this.dataIndex]);
if (this.editable) {
record.set(this.dataIndex, !record.data[this.dataIndex]);
return false;
} else {
return Ext.grid.ActionColumn.superclass.processEvent.apply(this, arguments);
}
} else {
return Ext.grid.ActionColumn.superclass.processEvent.apply(this, arguments);
}
},
renderer: function (v, p, record) {
p.css += ' x-grid3-check-col-td';
return String.format('<div class="x-grid3-check-col{0}"> </div>', v ? '-on' : '');
},
init: Ext.emptyFn,
setEditable: function (f) {
this.editable = f;
}
}); // register ptype. Deprecate. Remove in 4.0
Ext.preg('checkcolumn', Ext.ux.grid.CheckColumn); // backwards compat. Remove in 4.0
Ext.grid.CheckColumn = Ext.ux.grid.CheckColumn; // register Column xtype
Ext.grid.Column.types.checkcolumn = Ext.ux.grid.CheckColumn;

CheckColumn.js

             {
header: "证书", dataIndex: "MAT_CERTIFICATE", id: 'MAT_CERTIFICATE', width: , align: 'center', xtype: "checkcolumn", listeners: {
checkchange: function (column, checked) {
if (checked) {
certificateTypeCombo.disable();
} else {
certificateTypeCombo.enable();
}
}
}
},
{ header: "证书类型", dataIndex: "MAT_CERTIFICATE_TYPE", width: , align: 'center', editor: certificateTypeCombo, renderer: LCE_TYPE.toValue }
------------------------------------------------------------
var LCE_TYPE = new Ext.data.RSStore({
url: "STL001.csx?tag=GetLceType",
fields: ["MSID_N","MSVALUE" ],
root: "data",
id: "MSID_N",
autoLoad: true,
toValue: function (v) {
var rec = LCE_TYPE.getById(v);
return rec ? rec.data.MSVALUE : v;
}
}); var certificateTypeCombo = new Ext.form.SComboBox({
store: LCE_TYPE,
displayField: 'MSVALUE',
valueField: 'MSID_N',
mode: 'local',
disabled: true,
triggerAction: 'all',
listeners: {
focus: function (res) {
debugger;
var res = c_grid.getSelectionModel().getSelections();
if (res[].data.MAT_CERTIFICATE == false) {
certificateTypeCombo.disable()
}
else {
certificateTypeCombo.enable() ;
}
}
}
});

query.js

ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能的更多相关文章

  1. easyui源码翻译1.32--ComboTree(树形下拉框)

    前言 扩展自$.fn.combo.defaults和$.fn.tree.defaults.使用$.fn.combotree.defaults重写默认值对象.下载该插件翻译源码 树形下拉框结合选择控件和 ...

  2. ok6410 u-boot-2012.04.01移植二修改源码支持单板

    继ok6410 u-boot-2012.04.01移植一后修改代码,对ok6410单板初始化,主要包括时钟.串口.NAND.DDR等初始化.这些工作在以前的裸板程序都写了,直接拿来用.我觉得先写裸板程 ...

  3. Android源码分析(十三)----SystemUI下拉状态栏如何添加快捷开关

    一:如何添加快捷开关 源码路径:frameworks/base/packages/SystemUI/res/values/config.xml 添加headset快捷开关,参考如下修改. Index: ...

  4. ExtJs 扩展类CheckColumn的使用(事件触发)

    [javascript] view plain copy print? 使用 Extjs 在进行数据库编程经常会遇到 checkbox 的问题(奇怪网上却没有此类文章不知道其他人是怎么解决的,在此贴上 ...

  5. sqlsugar入门(4)-修改源码支持多主键保存ISaveable

    1.查看其它接口发现少了一个最重要的SaveBuilder.此文件是存放sql模板,where条件,select解析,组装成tosqlstring的最后一个类. 添加文件 using System; ...

  6. JGUI源码:实现图标按钮及下拉菜单(16)

    效果如下 代码片段如下 <div class="jgui-btn" id="personalbtn" style="float:right;&q ...

  7. 修改Cosbench源码 支持s3的 http range request 测试场景

    在视频点播的业务应用场景中,用户使用了ffmpeg工具做视频实时转码用. 而ffmpeg使用range 请求.而Cosbench不支持这种测试场景,所以需要修改源码支持这种测试场景. HTTP 协议介 ...

  8. Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持

    下面开始添加国产卫星光谱响应的支持: 以下主要参考文章“6S大气传输模型修改源码添加.自定义卫星光谱响应(以HJ-1B CCD为例)”网址:http://blog.csdn.net/sam92/art ...

  9. 修改json源码支持datetime序列化

    修改json源码支持datetime序列化 import json import datetime now = datetime.datetime.today() json.dumps(now) 抛出 ...

随机推荐

  1. Spring boot缓存初体验

    spring boot缓存初体验 1.项目搭建 使用MySQL作为数据库,spring boot集成mybatis来操作数据库,所以在使用springboot的cache组件时,需要先搭建一个简单的s ...

  2. docker的使用---创建新的镜像(通过修改容器,个人练手理解过程记录,不推荐使用)

    docker基础命令 ##列出docker客户端命令 docker docker container --help ##显示docker的版本和信息 docker --version docker v ...

  3. eclipse导入别的项目后发现jdk版本不一样,该如何解决呢?

    当我们导入其他人的项目的时候,发现导入的项目的jdk版本与我们使用电脑上的版本不同,该如何解决呢? 选中项目右键 --> Properties --> Build Path --> ...

  4. 品Spring:SpringBoot和Spring到底有没有本质的不同?

    现在的Spring相关开发都是基于SpringBoot的. 最后在打包时可以把所有依赖的jar包都打进去,构成一个独立的可执行的jar包.如下图13: 使用java -jar命令就可以运行这个独立的j ...

  5. Tomcat+Nginx+Linux+Mysql部署豆瓣TOP250的项目到腾讯云服务器

    写在前面 因为前面有写过一篇关于豆瓣的top250的电影的可视化展示项目,你可以移步http://blog.csdn.net/liuge36/article/details/78607955了解这个项 ...

  6. intellij idea 2018 激活

    http://idea.toocruel.net http://active.chinapyg.com/ 2018-8-6可用 http://xdouble.cn:8888/ 2018年7月11号 测 ...

  7. Spring 梳理 - @Component

    使用@Component注解,表示该类定义为Spring管理Bean,使用默认value(可选)属性表示Bean标识符.如果不指定标识符,默认为首字母小写类名.例如类UserController的标识 ...

  8. mysql having和using使用

    1.having当用到聚合函数sum,count后,又需要筛选条件时,就可以考虑使用having,因为where是在聚合前筛选记录的,无法和统计函数一起使用,而having在聚合后筛选记录,可以和统计 ...

  9. 阿里云ESC服务器centos6.9使用及注意事项

    阿里云ESC服务器,配置低,但是足够新手尝试操作练习. 使用之前,注意事项: 选择操作系统 设置实例快照 安装终端工具 一,选择操作系统. 可以在购买服务器的时候进行选择系统盘,也可以在购买之后在实例 ...

  10. centos7 远程连接其他服务器redis

    在本地远程连接 在终端输入: redis-cli -h 服务器ip地址 -p 端口 -a 密码