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

当我这样做时,我正在声明我自己的 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 回答
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 回答