ExtJS3 继承

Ext.ns("CMONO");
Application = function(config){
    Ext.apply(config);
};
Ext.onReady(function(){
    var ExtGridPanel = Ext.extend(Ext.grid.GridPanel, {
        title:'Extended Panel',
        width:500,
        height:350,
        constructor:function(){//重写构造函数
            ExtGridPanel.superclass.constructor.apply(this, arguments);
                        
            //注册鼠标单击事件
            this.on('click', this.onGridClick, this);
            //注册鼠标右键事件
            this.on('cellcontextmenu', this.onCellCtxMenuCall, this);
        },//eo constructor
        getSelectedRecord:function(){//返回选择记录
            //获取选择模型
            var sm = this.getSelectionModel();
            //RowSelectionModel
            if(sm instanceof Ext.grid.RowSelectionModel){
                return sm.getSelected();
            }
                        
            //CellSelectionModel
            if(sm instanceof Ext.grid.CellSelectionModel){
                var cell = sm.getSelectedCell();
                return this.getStore().getAt(cell[0]);
            }
        },//eo getSelectedRecord
        onGridClick:function(evt){
            evt.stopEvent();
            console.info(this.getSelectedRecord());
        },
        onCellCtxMenuCall:function(grid, rowIndex, cellIndex, evt){
            evt.stopEvent();
            //获取选择模型
            var sm = this.getSelectionModel();
            //RowSelectionModel
            if(sm instanceof Ext.grid.RowSelectionModel){
                sm.selectRow(rowIndex);
            }
                        
            //CellSelectionModel
            if(sm instanceof Ext.grid.CellSelectionModel){
                sm.select(rowIndex, cellIndex);
            }
        }
    });
                
                
    var cm = new Ext.grid.ColumnModel([
        { header:'ID', dataIndex:'id', width:30 },
        { header:'Name', dataIndex:'name', width:60 },
        { header:'Title', dataIndex:'title', width:60 },
        { header:'Age', dataIndex:'age', width:30 }
    ]);
                
    var data = [
        { id:1, name:'常伟华', title:'CEO', age:23},
        { id:2, name:'常伟华', title:'CEO', age:23},
        { id:3, name:'常伟华', title:'CEO', age:23}
    ];
                
    var store = new Ext.data.JsonStore({
        fields:[
            { name:'id', mapping:'id', type:'int'},
            { name:'name', mapping:'name', type:'string'},
            { name:'title', mapping:'title', type:'string'},
            { name:'age', mapping:'age', type:'int'}
        ],
        data:data
    });
                
    var grid = new ExtGridPanel({
        store:store,
        cm:cm,
        //sm:new Ext.grid.RowSelectionModel ()
        sm:new Ext.grid.CellSelectionModel ()
    });
                
    grid.render('container');
                
});

点击查看原图

知识共享许可协议
《ExtJS3 继承》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
相邻依据:发表时间
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     154.33ms