0

EXTJSは比較的新しいので、ユーザーが編集ボタンをクリックしたときに表示したい編集フォームがあります。

以前、私は次のようにそれを行っていました:

edit_window_xtype: 'window name',

これは完全に機能します。この場合、ユーザーがグリッド内のフィールドをダブルクリックしたときではなく、ボタンがクリックされたときにのみフォームを呼び出す必要があります(これはedit_window_xtype:'window name'が達成することです)

私は持っていた

btnEdit_onClick: function (btn) {
    Ext.create('window name').show();
},

しかし、それは機能しません。

4

2 に答える 2

1

Extjsで学ぶことがたくさんあるようです。これが私が思いついたものです。誰かがより良い解決策を持っているなら、私に知らせてください。何かを達成するためのより良い方法を常に探しています。:)

btnEdit_onClick: function (btn) {
    var config = {
        xtype: 'MyWindow_Name',
        mode: 'edit',
        title: 'Edit Window',
        editId: this.id
    };
    var win = Ext.ComponentMgr.create(config);
    win.show();
};
于 2012-05-31T20:03:33.870 に答える
1

iamがこれを行うとき、私は次のように自分のxtypeを宣言しています。

Ext.define('MyApp.view.dialog.MyEditDialog', {
    'extend' : 'Ext.window.Window',
    'alias' : 'widget.MyEditDialog',
    'autoShow' : true,//dont have to call .show()
    'title' : 'Edit',
    'items' : [{
         'xtype' : 'form',
         'bodyPadding' : 5,//my "Default"
         'flex' : 1,//scale childs to fit parent
         'defaultType' : 'textfield',//we're lazy ;-)
         'items' : [{
             'name' : 'surename',
             'fieldLabel' : 'Surename'  
          }, {
             'name' : 'lastname',
             'fieldLabel' : 'Lastname'
          }]
     }],
     'buttons' : [{
         'text' : 'Save',
         'iconCls' : 'button-save'//declared CSS Background somewhere
     }, {
         'text' : 'Cancel',
         'iconCls' : 'button-cancel',
         'handler' : function(btn){
              btn.up('window').close();//query selector is your friend ;-)
         }
     }]
});

最後に、次のように言います:Ext.widget('MyEditDialog'); ' 十分です。楽しむ!

于 2012-05-31T20:28:42.173 に答える