0

Grid といくつかのボタンで構成される Ext.from.FormPanel を拡張したいと考えています。私は咲の例を見つけました:

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 その中で、window コンポーネントに items 配列があることがわかります。グリッドはその配列内のアイテムです。

あなたがする必要があるのは、アイテムの1つがグリッドであるアイテム配列をフォームパネルに宣言させることです。

于 2013-10-08T03:48:08.623 に答える