当前位置: 代码迷 >> Web前端 >> 将PropertyGrid中的单个编辑框设立为不可编辑的方法
  详细解决方案

将PropertyGrid中的单个编辑框设立为不可编辑的方法

热度:311   发布时间:2012-10-14 14:55:08.0
将PropertyGrid中的单个编辑框设置为不可编辑的方法

方法很简单,就是为不可编辑的属性设置一种类型的编辑器,比如说你想要设置一个字符类型和一个日期类型的框框不可编辑,那么在配置的时候设置disabled:true就行了,网上很多说的方法都是增加beforeedit事件监听,还要添加处理函数,虽然代码不多,但是感觉麻烦.

该方法有一个不是很友好的地方,就是如果用户点击了这个不可编辑的输入框,打算修改数据,按了Backspace,通常情况下,在浏览器里面按这个按键是后退的意思,那么就会回退到上一个网页.

下面是一个例子

var addLabPanel = new Ext.Window({
    title: '<center>添加实验室</center>',
    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}))
    	}
    })
});
?