ExtJs本身就提供了丰富的空间和良好的界面开发,就如同WinForm的开发一样。但是ExtJs的空间也有不完美的地方,但是有缺点也有他自己的弥补方法。ExtJs的良好的扩展性就是ExtJs自己控件不能实现的最好的方法。 这几个中使用最多的当属ExtJs的PropertyGrid,ExtJs的PropertyGrid使用起来时相当简单的,在ExtJs的官方网站上也有相应的例子,简单的就不在叙述了。但是ExtJs本身的PropertyGrid不能支持分组,在显示的不能将属性进行分组,这是相当郁闷的。不知道为什么ExtJs不提供这样的方法和接口。 于是在网上Google了许久,网上也有类似的内容,叫做《扩展组件:GroupingView+ PropertyGrid (蒙牛版)》。楼主写的很好,但是不知道为什么没有将源码贴上。网上也没有其他的好的建议。无奈中,只能自己花点时间去写个吧。于是打开了ExtJs的源代码,找到了PropertyGrid的源文件,一看,还是比较简单的, 其中几个主要内容就是: PropertyRecord PropertyStore PropertyColumnModel PropertyGrid 于是拷贝了全部的源代码,创建了文件名为Ext.ux.grid.GroupPropertyGrid.js的脚本文件,并测试值,成功通过,开始阅读PropertyGrid的源代码,发现了以下几个问题: 1、PropertyRecord这个种的内容太少了,仅有name和value, 2、PropertyStore使用的是Ext.data.Store,而没有使用Ext.data.GroupingStore 3、PropertyStore使用的数据中不支持分组,并且更新的时候没有对分组进行处理 而PropertyGrid确实继承EditorGridPanel,这个本身就是可以支持Group分组的,这样PropertyGrid中就不需要修改了。 下面就对这几个问题进行修改,让他支持分组: 1、修改PropertyRecord,添加Group字段。 2、修改PropertyStore以支持GroupingStore 主要修改了SetSource,onUpdate这两个方法,并且修改了Store为GroupingStore。这样在去测试,就成功的可以看到PropertyGrid已经可以分组了。效果图如下: 这样整个工作就完成了。 全部的源代码下载:
推荐整理分享ExtJs扩展之GroupPropertyGrid代码,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
ExtJS GridPanel 根据条件改变字体颜色 1、在GridPanel中加入GridViewViewext:GridViewID="GridView1"runat="server"GetRowClassFn="setRowBg"//ext:GridView/View2、加入js脚本scriptlanguage="javascript"type="text/javascript"functionsetRo
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL 解题思路1:重载Connection类由于extjs和server端交互全都是json格式的数据交互,server端不会控制页面的跳转,页面跳转,提示功能全都有extjs来完成。extjs
ExtJs3.0中Store添加 baseParams 的Bug this.store.on('beforeload',function(){Ext.apply(Ext.getCmp("propTypeGrid").store.baseParams,{参数1:'',参数2:''});});但是在3.0中这样无法增加参数,于是在ExtJs官方论坛上找