ExtJS中如何扩展自定义的类

duhongweihao

duhongweihao

2016-02-19 16:17

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

 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

(本文来源于图老师网站,更多请访问https://m.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});

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

ExtJS中如何扩展自定义的类

Web开发 ExtJs
ExtJS中如何扩展自定义的类

如何自定义文件扩展名?

电脑入门
如何自定义文件扩展名?

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

excel中如何自定义函数

电脑入门
excel中如何自定义函数

VC中自定义CRichEditCtrl控件

编程语言 网络编程
VC中自定义CRichEditCtrl控件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

asp中自定义文件下载

Web开发
asp中自定义文件下载

AutoCAD中自定义填充图案

autocad教程
AutoCAD中自定义填充图案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VC++6.0实现视频数据实时获取的探讨

VC++6.0实现视频数据实时获取的探讨

快捷创建收信规则让QQ邮箱听你安排

快捷创建收信规则让QQ邮箱听你安排
下拉加载更多内容 ↓