长话短说,具体的请看图

需求如图:

ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能

 

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

ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能

 

 ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能

 

 ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能

 

 完整JS脚本

 1 Ext.ns('Ext.ux.grid');
 2 Ext.ux.grid.CheckColumn = Ext.extend(Ext.grid.Column, {
 3     editable: true,
 4     processEvent: function (name, e, grid, rowIndex, colIndex) {
 5         if (name == 'mousedown') {
 6             prj.curGrid = grid;
 7             this.init(name, e, grid, rowIndex, colIndex);
 8             var record = grid.store.getAt(rowIndex);
 9             this.fireEvent('checkchange', this, record.data[this.dataIndex]);
10             if (this.editable) {
11                 record.set(this.dataIndex, !record.data[this.dataIndex]);
12                 return false;
13             } else {
14                 return Ext.grid.ActionColumn.superclass.processEvent.apply(this, arguments);
15             }
16         } else {
17             return Ext.grid.ActionColumn.superclass.processEvent.apply(this, arguments);
18         }
19     },
20     renderer: function (v, p, record) {
21         p.css += ' x-grid3-check-col-td';
22         return String.format('<div class="x-grid3-check-col{0}">&#160;</div>', v ? '-on' : '');
23     },
24     init: Ext.emptyFn,
25     setEditable: function (f) {
26         this.editable = f;
27     }
28 });
29 
30 // register ptype. Deprecate. Remove in 4.0
31 Ext.preg('checkcolumn', Ext.ux.grid.CheckColumn);
32 
33 // backwards compat. Remove in 4.0
34 Ext.grid.CheckColumn = Ext.ux.grid.CheckColumn;
35 
36 // register Column xtype
37 Ext.grid.Column.types.checkcolumn = Ext.ux.grid.CheckColumn;
CheckColumn.js

相关文章:

  • 2022-12-23
  • 2022-01-20
  • 2021-06-13
  • 2022-12-23
  • 2021-10-16
  • 2021-11-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
  • 2022-01-10
  • 2021-05-19
  • 2022-12-23
  • 2021-06-29
相关资源
相似解决方案