Ext创建对象实例

方式一:

小型的项目中

main.js文件中

Ext.onReady(function(){

    var reader = new Ext.data.JsonReader({},[
        {name: 'text', type: 'string'},
        {name: 'number', type: 'float'},
        {name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s'},
        {name: 'combo', type: 'int'}
    ]);

    var form = new Ext.form.FormPanel({
        labelAlign: 'right',
        title: 'form',
        labelWidth: 50,
        buttonAlign: 'center',
        frame:true,
        //提交url
        url: 'form2.jsp',
        width: 280,
        reader: reader,

        items: [{
            xtype: 'textfield',
            fieldLabel: '文本',
            name: 'text'
        },{
            xtype: 'numberfield',
            fieldLabel: '数字',
            name: 'number'
        },{
            xtype: 'datefield',
            fieldLabel: '日期',
            name: 'date'
        },{
            xtype: 'combo',
            fieldLabel: '下拉',
            name: 'combo',
            store: new Ext.data.SimpleStore({
                fields: ['value', 'text'],
                data : [
                    [1, 'text1'],
                    [2, 'text2'],
                    [3, 'text3']
                ]
            }),
            mode:'local',
            triggerAction: 'all',
            valueField: 'value',
            displayField: 'text'
        }],
        buttons: [{
            text: '提交',
            handler: function() {
                form.getForm().submit();
            }
        }, {
            text: '读取',
            handler: function() {
             //读取url
                form.getForm().load({url:'10-01.txt'});
            }
        }]
    });
    form.render("form");

}); 

方式二:

大型的项目

main.js文件中

Ext.onReady(function() {
            var myPanel = new FormPanel({
//                        detailObjectId:null
             detailObjectId:'wl'
                    });
            myPanel.render(Ext.getBody());
        });

FormPanel = function(config) {
 FormPanel.superclass.constructor.call(this, Ext.apply(config,{
         detailObjectId:config.detailObjectId
         }));
};

在formpanel.js文件中

Ext.extend(FormPanel,Ext.form.FormPanel, {
 labelAlign: 'right',
    title: 'form',
    labelWidth: 50,
    buttonAlign: 'center',
    frame:true,
    url: 'form2.jsp',
    width: 280,
    reader: this.reader,
    buttons: [{
        text: '提交',
        handler: function() {
//            form.getForm().submit();
         alert('tijiao');
        }
    }, {
        text: '读取',
        handler: function() {
         //读取url
         alert('duqu');
//            Ext.getCmd('form').getForm().load({url:'10-01.txt'});
        }
    }],
    initform:function(){
     if(this.detailObjectId!=null){
//      新增detailObjectId为空,修改detailObjectId不为空
      var _self = this;
      alert("modify"+this.detailObjectId);
//      要是修改,就初始化界面,通过传递detailObjectId,调用dwr,ajax从后台数据库中获取数据。
//   执行页面初始化操作
      
     }else{
      alert("new");
     }
     
    },
    initComponent : function() {
     var reader = new Ext.data.JsonReader({},[
                                              {name: 'text', type: 'string'},
                                              {name: 'number', type: 'float'},
                                              {name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s'},
                                              {name: 'combo', type: 'int'}
                                          ]);
        this.items=[{
            xtype: 'textfield',
            fieldLabel: '文本',
            name: 'text'
        },{
            xtype: 'numberfield',
            fieldLabel: '数字',
            name: 'number'
        },{
            xtype: 'datefield',
            fieldLabel: '日期',
            name: 'date'
        },{
            xtype: 'combo',
            fieldLabel: '下拉',
            name: 'combo',
            store: new Ext.data.SimpleStore({
                fields: ['value', 'text'],
                data : [
                    [1, 'text1'],
                    [2, 'text2'],
                    [3, 'text3']
                ]
            }),
            mode:'local',
            triggerAction: 'all',
            valueField: 'value',
            displayField: 'text'
        }];
        this.initform();
        FormPanel.superclass.initComponent.call(this);
    }
});
Ext.reg('FormPanel', FormPanel);

你可能感兴趣的:(ext)