ExtJS中如何扩展自定义的类

2016-02-19 16:17 111 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享ExtJS中如何扩展自定义的类,希望可以对大家能有小小的帮助。

【 tulaoshi.com - Web开发 】

 1/**//**
 2 * ExtJs自定义PersonListGridPanel类
 3 * 该类继承自GridPanel[使用Ext.extend(superClass,override Object)方法实现继承],
 4 * 并override了该类的构造函数
 5 * 构造函数内部继承自GridPanel的构造函数[apply(this,arguments)实现继承]
 6 * 该类实现了如何对外部公布一个事件
 7 * 在构造函数中添加一个事件[this.addEvents("事件名称")]
 8 * 然后使用this.fireEvent("事件名称",参数)来发布此事件
 9 * 最后在客户端调用的时候来订阅该事件
10 */
11PersonListGridPanel = Ext.extend(Ext.grid.GridPanel, {
12    constructor: function(_url){
13        PersonListGridPanel.superclass.constructor.apply(this, [{
14            renderTo: Ext.getBody(),
15            width: 350,
16            height: 200,
17            frame: true,
18            layout: "form",
19            tbar:[{
20                text:"add"
21            },"-",{
22                text:"update"
23            },"-",{
24                text:"delete"
25            }],
26            enableColumnMove: false,
27            columns: [{
28                header: "Name",
29                menuDisabled: true,
30                dataIndex: "name"
31            }, {
32                header: "Age",
33                menuDisabled: true,
34                dataIndex: "age"
35            }, {
36                header: "Sex",
37                menuDisabled: true,
38                dataIndex: "sex"
39            }],
40            store: new Ext.data.JsonStore({
41                autoLoad: true,
42                url: _url,
43                fields: ["name", "age", "sex"]
44            }),
45           
46            selModel: new Ext.grid.RowSelectionModel({
47                singleSelect: true,
48                listeners: {
49                    "rowselect": {
50                        fn: function(_sel, _index, _r){
51                            this.fireEvent("rowselect", _r);//发布事件
52                        },
53                        scope: this
54                    }
55                }
56            })
57       
58        }]);
59        this.addEvents("rowselect");//添加事件
60    }
61})
62

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  前端调用代码

 1/**//**
 2 * 前端调用自定义类(组件)
 3 */
 4Ext.onReady(function(){
 5    var _grid=new PersonListGridPanel("http://localhost:3830/extjs/gridData.ashx");
 6    //以下订阅该事件
 7    _grid.on("rowselect", function(_r){
 8        this.getForm().loadRecord(_r);
 9    },_form);
10   
11});

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1611569.html

延伸阅读
标签: Web开发
注意,实现的方法必须是静态的 %...@ taglib uri="http://hxex.cn/vote" prefix="vote" % c:forEach var="vote" items="${votes}"         tr             td${vote.name}/td        ...
标签: 电脑入门
笔者一台针式打印机一直使用正常,因安装一套新的软件,把操作系统升级到了Windows XP。不料却发现了一个不大不小的问题,原先在Windows 98下打印机自定义纸的设置选项没有了,而我又需要非标准纸打印,经过一番摸索,才找到了解决办法。 点击开始→设置→打印机和传真,在出现的窗口中选择文件中的打印服务器属性。在弹出的属性对话...
《死侍》自定义键位心得完美自定义键位 方式1: Q作为传送反击键,鼠标左键轻击,右键重击,中键开枪,E键瞄准放大,R重装和互动,ZXC分别对应键盘的轻枪重,其他不变。 鼠标左键轻击,右键重击,中键开枪,这个几乎没什么可说的。 ZXC的定义是不想占用其他键位,再就是方便看刚开始了解连招,也比较形象和对称,有时还可以用来释放动...
标签: flash教程
AS2.0越看越象C#,JAVA.除了语法的定义相似.就连class类也能做成package(土语:自定义包),可集成你所有的自定义函数.方法.甚至组件扩展.包括引入FLASH的各种类包. 还是写个很简单的入门例子: 在自己的flashmx2004目录Flash MX 2004\en\First Run\Classes\里建立myclass目录和子目录test,然后写个小的class文件,存入这个新建目录 mytest.as c...
标签: Web开发
如何在DataGrid控件中实现自定义分页      在一般情况下,DataGrid控件每次实现翻页操作时,都会将数据源中的数据重新调用一次,当数据中 数据很多时,这样做就会很浪费系统资源和降低程序的执行效率.这时候我们一般通过自定义分页来解 决这个问题.     DataGrid控件的AllowCustomPaging属性用来...

经验教程

303

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部