方法很简单,就是为不可编辑的属性设置一种类型的编辑器,比如说你想要设置一个字符类型和一个日期类型的框框不可编辑,那么在配置的时候设置disabled:true就行了,网上很多说的方法都是增加beforeedit事件监听,还要添加处理函数,虽然代码不多,但是感觉麻烦.
该方法有一个不是很友好的地方,就是如果用户点击了这个不可编辑的输入框,打算修改数据,按了Backspace,通常情况下,在浏览器里面按这个按键是后退的意思,那么就会回退到上一个网页.
下面是一个例子
【ExtJS|将PropertyGrid中的单个编辑框设置为不可编辑的方法】
var addLabPanel = new Ext.Window({ title: '添加实验室', layout:'fit', width: 514, height: 499, items:new Ext.grid.PropertyGrid({ source:{ 实验室名称:'化学实验室', 实验室编号:'A001', 实验室状态:'启用', 备注信息:'无', 管理员:'张三', 时间:'2011-1-17' }, customEditors:{ 实验室名称:new Ext.grid.GridEditor(new Ext.form.TextField({disabled:true})), 时间:new Ext.grid.GridEditor(new Ext.form.DateField({format:'Y-m-d',disabled:true})) } }) });
文章图片
推荐阅读
- ExtJS|Ext.Data.Store中将两个字段合并为一个字段
- Extjs|extjs4 combobox 多选与赋值 2017.1.10
- 多选下拉框Ext.form.MultiSelect(全选、反选)
- 重写Ext.MessageBox.confirm中文按钮名称