您的位置:首页 > Web前端 > JavaScript

ExtJS4.2学习(九)属性表格控件PropertyGrid

2013-12-10 22:43 274 查看
PropertyGrid是在上节我们说的Editor的基础上开发的更灵活的高级表格组件,下面我们来看下它的功能和应用方式:



属性表格扩展自EditGrid,所以可以直接编辑右边的内容。注意,只有右边的,即使你单击左边的单元格,编辑器也只会出现在右边。
实际上,我们可以用散列表来形容PropertyGrid,左边可以看做key,右边的是value。key是由我们指定好的,用户只需要修改对应的value即可。对于某些属性而言,配置很方便。呵呵,是不是很像map。对了,下面的数据,你也可以用Java的HashMap或有键值对的组合来传递,通过Ext.ajax来实现。代码方面,因为只有两列,所以我们不用担心columns,store的部分确定是key和value的组合,因此也不用再分几步准备。下面用代码创建一个瞧瞧:

var grid = new Ext.grid.PropertyGrid({
title:'属性表格', //表格标题
autoHeight:true, //有了它就不需要我们为div指定style
width:300,
renderTo:'grid',
viewConfig:{
forceFit:true
},
source:{ //json数据里指定了一组key和value
"名字":"束洋洋",
"创建时间":new Date(Date.parse('2013/11/15')),
"是否有效":false,
"版本号":.01,
"描述":"ExtJs4.2学习之路"
}
});
大家看了肯定会明白,某些表单的功能也可以用PropertyGrid来实现,是不是方便多了,看起来互动性更强了?
虽然PropertyGrid默认是提供编辑功能的,但是在某些情况下,也希望它只用来显示数据,这时就需要禁用PropertyGrid中的编辑功能。PropertyGrid中并没有直接提供可以开关编辑功能的参数,但我们可以通过Ext的事件监 听 器实现这一功能,具体代码如下:

//只能看不能动,通过以下方式实现
grid.on("beforeedit",function(e){
e.cancel = true;
return false;
});
现在表格就只能看不能编辑了。
连载中,请大家持续关注,本文出自我的个人网站思考者日记网
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息