extjs中rowEditing动态编辑
我们在使用Grid的rowEditing插件时希望能够根据自己的业务需求能够动态的实现那一列是用户可以编辑的,那一列用户不可编辑,下面给出一个方案能够实现rowEditing的动态编辑功能。
之前我通过rowEditing的beforeedit事件获得它的行对象来控制列是否可编辑,这样做之后效果是实现了,但是之后它又会被置为可编辑,以此想到我们直接控制grid的editor配置,控制这个edior的readOnly属性,在数据grid的store数据显示之前,肯定会触发事件,这样我们在事件里面来改变grid的editor配置。
下面这段代码是我在一个按钮中控制rowEditing的动态编辑:
xtype: 'button',
2 text: '添加',
3 tooltip: '添加',
4 cls : 'x-btn-text-icon',
5 icon: '../images/extjs/add.png',
6 handler: function(){ //判断当前是引入操作的数据还是查询的数据
var opertype = false;//是不是引入操作
jinmgl_grid_store.each(function(record){
if(parseInt(record.get('id')) < 0){
opertype = true;
}
});
if(opertype){
Ext.Msg.alert("提示信息", "请点击查询按钮查询数据!");
return false;
} //将所有信息都置为可以编辑的
if(typeof(rowEditingOfJinmgl.grid) != "undefined"){
for(var i=0; i<rowEditingOfJinmgl.grid.columns.length; i++){
var editor = rowEditingOfJinmgl.grid.columns[i];
if(typeof(editor.editor) != "undefined"){
editor.editor.readOnly = false;
}
}
}
if(typeof(rowEditingOfJinmgl.editor) != "undefined"){
for(var i=0; i<rowEditingOfJinmgl.editor.items.items.length; i++){
var editor = rowEditingOfJinmgl.editor.items.items[i];
if(typeof(editor) != "undefined"){
rowEditingOfJinmgl.editor.items.items[i].readOnly = false;
}
}
} rowEditingOfJinmgl.cancelEdit();
var newRow = Ext.create('jinmgl_grid_data',{
id: '0',
operatedate : Ext.getCmp('operateDate').getValue() == null ? Ext.Date.clearTime(new Date(), 'yy-mm-dd') : Ext.Date.clearTime(Ext.getCmp('operateDate').getValue(), 'yy-mm-dd'),
storeposition: '',
coaltype: '',
supplierarea: '',
supplierdep: '',
amount: 0,
qe: 0,
ag: 0,
wq: 0,
sgq: 0,
vdaf: 0,
price: 0,
comments:'',
jinmid: 0
});
var position = jinmgl_grid_store.getCount();
jinmgl_grid_store.insert(position,newRow);
rowEditingOfJinmgl.startEdit(position,position);
59 }
extjs中rowEditing动态编辑的更多相关文章
- extjs 中动态给gridpanel 复选框赋值
最近在搞extjs时需要动态根据数据给gridpanel的复选框赋值 网上看了很多 ,多不行,最后找到一个好使的方法 如下: RBACformPanel.getSelectionModel().sel ...
- extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)
在公司做的一个OA项目中,曾经就遇到了这样的一个问题:(我是在jsp中的div中将js render到div中去的)第一次访问此界面的时候,formpanel上的组件能正常显示,不刷新整个页面的前提下 ...
- Extjs之rowEditing编辑状态时列不对齐
Extjs在使用rowEditing的时候,会在每一列加上editor属性,表示当处于编辑状态时这一列的值是什么类型的,后突然发现在rowEditing处于编辑状态时每一列的宽度边框了,如果列数非常多 ...
- ExtJs 3.0 动态生成 CheckBox
在开发过程中,往往需要利用数据动态生成Checkbox.如权限节点.考试答案,调查选项等等.在Extjs中,有两种方法来获取后台数据,一是Ext.Ajax()方法,第二种是利用 Store,store ...
- 转: ExtJS中xtype一览
转: ExtJS中xtype一览 基本组件: xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cycl ...
- Extjs中grid表格中去掉红三角
在编辑Extjs的gridpanel的时候,数据有错误或是修改在每个单元格上都会出现红色的小三角,在每个列上面可以配置allowBlank: false来标识这个不可以为空 有的时候在保存数据时如果不 ...
- iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见
iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见 (2015-12-05 12:48:20)[编辑][删除] 转载▼ 首先我们先明确一下问题: 1.因为UI是在主线 ...
- Delphi中的动态包,有详细建立包的步骤(答案很简单:因为包的功能强大)
为什么要使用包? 答案很简单:因为包的功能强大.设计期包(design-time package)简化了自定义组件的发布和安装:而运行期包(run-time package)则更是给传统的程序设计注入 ...
- 如何在网页中浏览和编辑DWG文件 梦想CAD控件
如何在网页中浏览和编辑DWG文件 梦想CAD控件 www.mxdraw.com 梦想绘图控件5.2 是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 201 ...
随机推荐
- 线性代数(矩阵乘法):POJ 2778 DNA Sequence
DNA Sequence Description It's well known that DNA Sequence is a sequence only contains A, C, T and ...
- CodeForces 595B
题目链接: http://codeforces.com/problemset/problem/595/B 题意: 有一个n位的电话号码,每位电话号码将分成n/k段,每段均为k个数,求出满足以下要求的电 ...
- 《傲慢与偏见》(Pride and Prejudice)
<傲慢与偏见>(Pride and Prejudice)改编自英国作家简·奥斯汀的同名小说,1940年上映.讲述了19世纪初期英国的一个普通的中产家庭中五姐妹的爱情与择偶故事.片中因为男主 ...
- 动态规划——数位dp
通过先前在<动态规划——背包问题>中关于动态规划的初探,我们其实可以看到,动态规划其实不是像凸包.扩展欧几里得等是具体的算法,而是一种在解决问题中决策的思想.在不同的题目中,我们都需要根据 ...
- poj1065
题目大意: 木棍(好吧,承认确实做过这个题,嘎嘎) 有一堆木棍大约有n根,木棍的长度和重量都预先知道,这些木棍会在一个木工机械上一个接一个的处理,这需要一些时间,称为设置时间,为机械准备处理一根木头, ...
- ActionScript 3.0日期与时间管理(Date类)
,6)); var now_1:Date=new Date(); trace(now_1.getHours()); /*输出结果会根据设置和测试时间不同而有 ...
- HDOJ 5184 Brackets 卡特兰数扩展
既求从点(0,0)仅仅能向上或者向右而且不穿越y=x到达点(a,b)有多少总走法... 有公式: C(a+b,min(a,b))-C(a+b,min(a,b)-1) /// 折纸法证明卡特兰数: h ...
- Reso | The Linux Command Line 的中文版
http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...
- Java基础知识强化之IO流笔记11:递归之递归概述和注意事项
1. 递归: 方法定义中调用方法本身的现象. e.g: public void show(int n ) { if(n <= 0) { System.exit(0); } System.out. ...
- php-fpm 启动参数及重要配置详解<转>
原文地址 http://levi.cg.am/archives/3127 约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm. ...