我们在使用Grid的rowEditing插件时希望能够根据自己的业务需求能够动态的实现那一列是用户可以编辑的,那一列用户不可编辑,下面给出一个方案能够实现rowEditing的动态编辑功能。

之前我通过rowEditing的beforeedit事件获得它的行对象来控制列是否可编辑,这样做之后效果是实现了,但是之后它又会被置为可编辑,以此想到我们直接控制grid的editor配置,控制这个edior的readOnly属性,在数据grid的store数据显示之前,肯定会触发事件,这样我们在事件里面来改变grid的editor配置。

下面这段代码是我在一个按钮中控制rowEditing的动态编辑:

 1 xtype: 'button',
 2 text: '添加',
 3 tooltip: '添加',
 4 cls : 'x-btn-text-icon',
 5 icon: '../images/extjs/add.png',
 6 handler: function(){
 7
 8    //判断当前是引入操作的数据还是查询的数据
 9    var opertype = false;//是不是引入操作
10    jinmgl_grid_store.each(function(record){
11        if(parseInt(record.get('id')) < 0){
12            opertype = true;
13        }
14    });
15    if(opertype){
16        Ext.Msg.alert("提示信息", "请点击查询按钮查询数据!");
17        return false;
18    }
19
20    //将所有信息都置为可以编辑的
21    if(typeof(rowEditingOfJinmgl.grid) != "undefined"){
22        for(var i=0; i<rowEditingOfJinmgl.grid.columns.length; i++){
23          var editor = rowEditingOfJinmgl.grid.columns[i];
24           if(typeof(editor.editor) != "undefined"){
25               editor.editor.readOnly = false;
26           }
27        }
28    }
29    if(typeof(rowEditingOfJinmgl.editor) != "undefined"){
30        for(var i=0; i<rowEditingOfJinmgl.editor.items.items.length; i++){
31            var editor = rowEditingOfJinmgl.editor.items.items[i];
32            if(typeof(editor) != "undefined"){
33                rowEditingOfJinmgl.editor.items.items[i].readOnly = false;
34            }
35        }
36    }
37
38    rowEditingOfJinmgl.cancelEdit();
39    var newRow = Ext.create('jinmgl_grid_data',{
40        id: '0',
41        operatedate : Ext.getCmp('operateDate').getValue() == null ? Ext.Date.clearTime(new Date(), 'yy-mm-dd') : Ext.Date.clearTime(Ext.getCmp('operateDate').getValue(), 'yy-mm-dd'),
42        storeposition: '',
43        coaltype: '',
44        supplierarea: '',
45        supplierdep: '',
46        amount: 0,
47        qe: 0,
48        ag: 0,
49        wq: 0,
50        sgq: 0,
51        vdaf: 0,
52        price: 0,
53        comments:'',
54        jinmid: 0
55    });
56    var position = jinmgl_grid_store.getCount();
57    jinmgl_grid_store.insert(position,newRow);
58    rowEditingOfJinmgl.startEdit(position,position);
59 }  

转载于:https://www.cnblogs.com/smallrock/p/3632172.html

extjs中rowEditing动态编辑相关推荐

  1. EXTJS 中grid 动态增加列的方法

    总结:gridpanel动态生成列的核心就是在拼凑columnmodel和后台返回store的数据对的上 1-首先动态拼凑columnmodel 前端拼凑例子 me.columns.push({tex ...

  2. 107.(前端)分类管理增加值实现——使用elementui中的动态编辑标签发送请求

    1.概述 本节要实现的功能就是,当我们点击动态编辑标签时,丢失焦点或者回车时,发送请求. 2.流程 handleInputConfirm()中,验证form输入框中是否存在值,若存在添加数据到val, ...

  3. extjs 中动态给gridpanel 复选框赋值

    最近在搞extjs时需要动态根据数据给gridpanel的复选框赋值 网上看了很多 ,多不行,最后找到一个好使的方法 如下: RBACformPanel.getSelectionModel().sel ...

  4. 如何html中添加动态图片,把动态图片添加到视频画面中 视频添加自定义动态图片 视频加动态logo...

    我前面也编写过关于视频添加动态图片的教程.前面所说的给是视频添加的动态图片是软件中自带的素材,虽然软件中带的动态图片种类繁多,但是不外乎有些时候软件中并没有我们要用的动态图片,这个时候我们就需要重外部 ...

  5. azure云数据库_在Azure SQL数据库中实现动态数据屏蔽

    azure云数据库 In this article, we will review Dynamic Data Masking in the Azure SQL database. Dynamic Da ...

  6. [转]ExtJs中使用中碰到的三个问题的解决方法

    这里的经验不是指对这种框架总体上面的一些介绍,只是记录了本月中使用ExtJs中遇到的3个问题的解决方法,这里还是要感谢Extjs论坛的 Animal和Condor,每次在我遇到拦路虎的时候,总能在他俩 ...

  7. 如何在Excel中创建动态定义的范围

    Your Excel data changes frequently, so it's useful to create a dynamic defined range that automatica ...

  8. html 修改浏览器图标大小设置,如何在网页中插入、编辑图像和调整其大小

    了解如何在 Dreamweaver 中插入.编辑.替换图像和调整其大小. 图像可以通过为网站访问者提供额外的上下文,构成网站的组成部分.尽管存在多种图形文件格式,但在网页中通常应使用 GIF.JPEG ...

  9. extJs弹出动态表格和列表

    extJs弹出动态表格和列表 1.extJs弹出可编辑表格 效果: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 弹出下面的可编辑表格 [外链图片转存失败,源站可能有防盗链机制 ...

  10. layui中的动态表格

    layui中的动态表格 介绍 layui提供了丰富的动态表格的操作,它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求.支持固定表头.固定行.固定列左/列右,支持拖拽改变列 ...

最新文章

  1. Windows Server云服务器配置深度学习环境WS
  2. ubuntu完全卸载apache2
  3. HDU1226 搜索 bfs xingxing在努力
  4. 最大子段和 分治与动态规划
  5. 代码调用NullPointerException(NPE)
  6. 【APICloud系列|32】iOS 上架去除Icon图像中的alpha通道或透明度
  7. html 比 htm 的载入速度快,htm和html
  8. 计算机主机爆炸,刚装的PC:开机使用突然爆炸!竟是电源惹的祸
  9. 根据表格长度使td里的内容换行
  10. 超实用的8个Linux命令行性能监测工具
  11. python输出文件夹路径_python如何获取文件夹下第一层文件的路径,
  12. Atitit 给投资人的回报 目录 1.1. 经济回报(略) 1 2. 精神文化与学术回报 1 2.1. 提升自我 投资人可以在我们的教育体系提升自我学术水平 1 2.2. 对自己感兴趣的学术领
  13. 【交通标志识别】基于matlab GUI BP神经网络交通标志识别【含Matlab源码 718期】
  14. 各种电子元器件介绍与电路基础作用
  15. 稳健性估计—— M 估计
  16. vue JsBarcode的使用
  17. hey 安装_HEY(可能)不是您一直在寻找的电子邮件服务
  18. 基于单片机的电子琴系统设计(#0424)
  19. 【新闻演讲】去IOE之O:运营商能否照搬阿里去O?
  20. 对《移动互联网白皮书(2013年)》的几个解读

热门文章

  1. JavaSE基础——IO流详解(1)字节流和字符流
  2. 阿里云Centos6.6安装配置docker
  3. Html 5 网络存储之 LocalStorage、SessionStorage
  4. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_7_等待唤醒机制需求分析...
  5. Web.xml in Hello1 project
  6. 封装条形码MaHelper
  7. windwos::mutex
  8. SSL协议之数据加密过程详解
  9. ELementD对象
  10. PHP验证时有用的几段代码