abu008 2012-08-20 20:49
浏览 222
已采纳

ext EditorGridPanel

我设置了一列为可编辑
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为不可编辑的单元格,请问应该怎样做才可以,谢谢!

  • 写回答

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 :&#39;商品名称&#39;,dataIndex:&#39;productName&#39;} <br> ,{header :&#39;颜色&#39;,dataIndex:&#39;pcolor&#39;} <br> ,{header :&#39;尺码&#39;,dataIndex:&#39;psize&#39;} <br> ,{header :&#39;录入方式&#39;,dataIndex:&#39;createBarcodeType&#39;} <br> ,{header :&#39;条码&#39;,dataIndex:&#39;barCode&#39;,editor : new Ext.grid.GridEditor(new Ext.form.TextField({allowBlank : false}))} <br> ]); <br> //测试数据<br> var data = [<br> [&#39;Coco&#39;,&#39;red&#39;,&#39;120&#39;,&#39;1&#39;,&#39;12321323&#39;],<br> [&#39;dfkls&#39;,&#39;blue&#39;,&#39;120&#39;,&#39;0&#39;,&#39;12321323&#39;],<br> [&#39;ce3dfe&#39;,&#39;red&#39;,&#39;120&#39;,&#39;1&#39;,&#39;12321323&#39;],<br> [&#39;Cosdfco&#39;,&#39;yellow&#39;,&#39;120&#39;,&#39;1&#39;,&#39;12321323&#39;],<br> [&#39;swr&#39;,&#39;red&#39;,&#39;120&#39;,&#39;0&#39;,&#39;12321323&#39;]<br> ];<br> //数据存储器<br> var ds = new Ext.data.Store({<br> proxy:new Ext.data.MemoryProxy(data),<br> reader:new Ext.data.ArrayReader({},[<br> {name:&#39;productName&#39;},<br> {name:&#39;pcolor&#39;},<br> {name:&#39;psize&#39;},<br> {name:&#39;createBarcodeType&#39;},<br> {name:&#39;barCode&#39;}<br> ])<br> });</p> <pre><code> var grid=new Ext.grid.EditorGridPanel({ title:&#39;测试列表&#39;, //el:&#39;grid&#39;, renderTo:&#39;grid&#39;, width:800, height:300, autoScroll:true, store:ds, cm:cm, sm:sm, listeners:{ &#39;beforeedit&#39;:function(o){ var createBarcodeType = o.record.get(&#39;createBarcodeType&#39;); if(createBarcodeType == &#39;1&#39;) return true; else return false; } } }); ds.load(); }); &lt;/script&gt;[/code] </code></pre> <p>里面核心的思路就是在EditorGridPanel上加beforeedit监听事件<br> [code=&quot;java&quot;]<br> &#39;beforeedit&#39;:function(o){<br> var createBarcodeType = o.record.get(&#39;createBarcodeType&#39;);<br> if(createBarcodeType == &#39;1&#39;)<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>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题