abu008 2012-08-20 12: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 02: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 python排课代码读写xlsx表格出现bug
  • ¥15 KeiI中头文件找不到怎么解决
  • ¥15 QT6将音频采样数据转PCM
  • ¥15 本地安装org.Hs.eg.dby一直这样的图片报错如何解决?
  • ¥15 下面三个文件分别是OFDM波形的数据,我的思路公式和我写的成像算法代码,有没有人能帮我改一改,如何解决?
  • ¥15 Ubuntu打开gazebo模型调不出来,如何解决?
  • ¥100 有chang请一位会arm和dsp的朋友解读一个工程
  • ¥50 求代做一个阿里云百炼的小实验
  • ¥15 查询优化:A表100000行,B表2000 行,内存页大小只有20页,运行时3页,设计两个表等值连接的最简单的算法
  • ¥15 led数码显示控制(标签-流程图)