ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能
长话短说,具体的请看图
需求如图:

修改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修改源码,支持按条件禁用启用下拉框功能的更多相关文章
- easyui源码翻译1.32--ComboTree(树形下拉框)
前言 扩展自$.fn.combo.defaults和$.fn.tree.defaults.使用$.fn.combotree.defaults重写默认值对象.下载该插件翻译源码 树形下拉框结合选择控件和 ...
- ok6410 u-boot-2012.04.01移植二修改源码支持单板
继ok6410 u-boot-2012.04.01移植一后修改代码,对ok6410单板初始化,主要包括时钟.串口.NAND.DDR等初始化.这些工作在以前的裸板程序都写了,直接拿来用.我觉得先写裸板程 ...
- Android源码分析(十三)----SystemUI下拉状态栏如何添加快捷开关
一:如何添加快捷开关 源码路径:frameworks/base/packages/SystemUI/res/values/config.xml 添加headset快捷开关,参考如下修改. Index: ...
- ExtJs 扩展类CheckColumn的使用(事件触发)
[javascript] view plain copy print? 使用 Extjs 在进行数据库编程经常会遇到 checkbox 的问题(奇怪网上却没有此类文章不知道其他人是怎么解决的,在此贴上 ...
- sqlsugar入门(4)-修改源码支持多主键保存ISaveable
1.查看其它接口发现少了一个最重要的SaveBuilder.此文件是存放sql模板,where条件,select解析,组装成tosqlstring的最后一个类. 添加文件 using System; ...
- JGUI源码:实现图标按钮及下拉菜单(16)
效果如下 代码片段如下 <div class="jgui-btn" id="personalbtn" style="float:right;&q ...
- 修改Cosbench源码 支持s3的 http range request 测试场景
在视频点播的业务应用场景中,用户使用了ffmpeg工具做视频实时转码用. 而ffmpeg使用range 请求.而Cosbench不支持这种测试场景,所以需要修改源码支持这种测试场景. HTTP 协议介 ...
- Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持
下面开始添加国产卫星光谱响应的支持: 以下主要参考文章“6S大气传输模型修改源码添加.自定义卫星光谱响应(以HJ-1B CCD为例)”网址:http://blog.csdn.net/sam92/art ...
- 修改json源码支持datetime序列化
修改json源码支持datetime序列化 import json import datetime now = datetime.datetime.today() json.dumps(now) 抛出 ...
随机推荐
- 品Spring:能工巧匠们对注解的“加持”
问题的描述与方案的提出 在Spring从XML转向注解时,为了自身的开发方便,对注解含义进行了扩充(具体参考本号上一篇文章). 这个扩充直接导致了一个问题,就是需要从注解往元注解以及元元注解(即沿着从 ...
- python Fatal error in launcher
1.之前电脑上只安装了一个python2.7时pip install virtualenv安装了virtualenv,后来又装了py3.6.最近想做断网环境下的虚拟环境快速移植发现查看virtuale ...
- 一个selenium简单案例自动添加数据
//本来想着用execl来录入数据的,但是为了尽快完成所以直接搞了个数组 package aldtest; import org.openqa.selenium.*; import org.openq ...
- SpringBootSecurity学习(09)网页版登录配置Session共享
场景 当后台项目由部署在一台改为部署在多台以后,解决session共享问题最常用的办法就是把session存储在redis等缓存中.关于session和cookie概念这里就不再赘述了,在spring ...
- Kubernetes 系列(一):本地k8s集群搭建
我们需要做以下工作: (1)安装VMware,运行CentOs系统,一个做master,一个做node. (2)安装K8s. (3)安装docker和部分镜像会需要访问外网,所以你需要做些网络方面的准 ...
- eShopOnContainers学习系列(二):数据库连接健康检查
项目里使用数据库的时候,我们有时候需要知道数据库当前的健康状态,特别是当数据库连接不上的时候能够立马获悉.eShopOnContainers里存在着大量的服务健康.连接健康的检查,数据库连接是其中之一 ...
- Windows定时备份Mysql数据库
1.新建批处理文件bat(随意命名:如auto_backup_mysql_data.bat) 2.在批处理文件里添加如下命令 %1 mshta vbscript:createobject(" ...
- Siege 网站性能压力测试工具使用入门
Siege is an open source regression test and benchmark utility. It can stress test a single URL with ...
- Hexo 博客快速整合公众号导流工具,不用互推也能实现粉丝躺增!
readmore 插件简介 Hexo 整合 OpenWrite 平台的 readmore 插件,实现博客的每一篇文章自动增加阅读更多效果,关注公众号后方可解锁全站文章,从而实现博客流量导流到微信公众号 ...
- 【MySQL】 用户授权
启动mysql命令符 grant all privileges on mysql.* to 'root'@'%' identified by '123456'; 给mysql用户root授权,'%'表 ...