0

我想扩展一个包含 Grid 和一些按钮的 Ext.from.FormPanel。我找到了 Saki 的例子:

Ext.ns('MyApp');

MyApp.AbstractFormPanel = Ext.extend(Ext.form.FormPanel, {
 defaultType:'textfield'
,frame:true
,width:300
,height:200
,labelWidth:75
,submitUrl:null
,submitT:'Submit'
,cancelT:'Cancel'
,initComponent:function() {

    // create config object
    var config = {
        defaults:{anchor:'-10'}
    };

    // build config
    this.buildConfig(config);

    // apply config
    Ext.apply(this, Ext.apply(this.initialConfig, config));

    // call parent
    MyApp.AbstractFormPanel.superclass.initComponent.call(this);

} // eo function initComponent

,buildConfig:function(config) {
    this.buildButtons(config);
} // eo function buildConfig

,buildButtons:function(config) {
    config.buttons = [{
         text:this.submitT
        ,scope:this
        ,handler:this.onSubmit
        ,iconCls:'icon-disk'
    },{
         text:this.cancelT
        ,scope:this
        ,handler:this.onCancel
        ,iconCls:'icon-undo'
    }];
}

,onSubmit:function() {
    Ext.MessageBox.alert('Submit', this.submitUrl);
} 

,onCancel:function() {
    this.el.mask('This form is canceled');
} // eo function onCancel

}); // eo extend

它可能包含我给它的尽可能多的按钮。但是如何添加网格?我要这样放网格initConmponent吗?

initComponent:function() {

    // create config object
    var config = {
        defaults:{anchor:'-10'}
    };

    // build config
    this.buildConfig(config);

    // apply config
    Ext.apply(this, Ext.apply(this.initialConfig, config));

    // call parent
    MyApp.AbstractFormPanel.superclass.initComponent.call(this);

   mygrid = new Ext.grid.GridPanel({....});

}

我在哪里可以找到好的示例或教程?
PS:ExtJs 3.4 版。

4

1 回答 1

0

网格适合项目块中的表单容器。Saki在窗口中有一个网格示例http://examples.extjs.eu/one2many.html 在其中您可以看到窗口组件具有项目数组。并且网格是该数组中的一个项目。

您需要做的是让您的表单面板声明项目数组,其中一项是网格。

于 2013-10-08T03:48:08.623 回答