我设置了一列为可编辑
var colM = new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer(), sm,
{header :'商品名称',dataIndex:'productName'}
,{header :'颜色',dataIndex:'pcolor'}
,{header :'尺码',dataIndex:'psize'}
,{header :'录入方式',dataIndex:'createBarcodeType',renderer:showCreateBarcodeType}
,{header :'条码',dataIndex:'barCode',editor : new Ext.grid.GridEditor(new Ext.form.TextField({allowBlank : false}))}
]);
这个条码我想根据录入方式 0为可编辑,1为不可编辑的单元格,请问应该怎样做才可以,谢谢!
ext EditorGridPanel
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- iteye_7115 2012-08-21 10:04关注
麻烦下次问问题的话,把代码提供全些
[code="java"] <br> Ext.onReady(function(){<br> var sm = new Ext.grid.RowSelectionModel({singleSelect : true});<br> //grid列<br> var cm = new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer(), sm, <br> {header :'商品名称',dataIndex:'productName'} <br> ,{header :'颜色',dataIndex:'pcolor'} <br> ,{header :'尺码',dataIndex:'psize'} <br> ,{header :'录入方式',dataIndex:'createBarcodeType'} <br> ,{header :'条码',dataIndex:'barCode',editor : new Ext.grid.GridEditor(new Ext.form.TextField({allowBlank : false}))} <br> ]); <br> //测试数据<br> var data = [<br> ['Coco','red','120','1','12321323'],<br> ['dfkls','blue','120','0','12321323'],<br> ['ce3dfe','red','120','1','12321323'],<br> ['Cosdfco','yellow','120','1','12321323'],<br> ['swr','red','120','0','12321323']<br> ];<br> //数据存储器<br> var ds = new Ext.data.Store({<br> proxy:new Ext.data.MemoryProxy(data),<br> reader:new Ext.data.ArrayReader({},[<br> {name:'productName'},<br> {name:'pcolor'},<br> {name:'psize'},<br> {name:'createBarcodeType'},<br> {name:'barCode'}<br> ])<br> });</p> <pre><code> var grid=new Ext.grid.EditorGridPanel({ title:'测试列表', //el:'grid', renderTo:'grid', width:800, height:300, autoScroll:true, store:ds, cm:cm, sm:sm, listeners:{ 'beforeedit':function(o){ var createBarcodeType = o.record.get('createBarcodeType'); if(createBarcodeType == '1') return true; else return false; } } }); ds.load(); }); </script>[/code] </code></pre> <p>里面核心的思路就是在EditorGridPanel上加beforeedit监听事件<br> [code="java"]<br> 'beforeedit':function(o){<br> var createBarcodeType = o.record.get('createBarcodeType');<br> if(createBarcodeType == '1')<br> return true;<br> else<br> return false;<br> }<br> [/code]</p> <p>[quote]<br> [b]beforeedit[/b] : ( Object e ) <br> Fires before cell editing is triggered. The edit event object has the following properties </p> <p>grid - This grid <br> record - The record being edited <br> field - The field name being edited <br> value - The value for the field being edited. <br> row - The grid row index <br> column - The grid column index <br> cancel - Set this to true to cancel the edit or return false from your handler<br> [/quote]</p>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)