2012-05-31 2 views
0

Релятививно новый для EXTJS, У меня есть форма редактирования, которую я хочу показать, когда пользователь нажимает кнопку редактирования.EXT JS Открытая форма на btn Нажмите

раньше я делал это так:

edit_window_xtype: 'window name', 

, который прекрасно работает, в этом случае у меня есть необходимость обратиться только к форме, когда кнопка нажата и не тогда, когда пользователь дважды щелкает поле . в моей сетке (это то, что edit_window_xtype: «имя окна» будет выполнять)

Я имел

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

, но это не работает.

+0

можете ли вы добавить больше кода? было бы проще, если бы вы включили код для представления «имя окна» и представление, в котором находится кнопка –

ответ

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(); 
}; 
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');» достаточно. Удачи!

Смежные вопросы