ExtJS4:使用面板,窗口还是容器?

时间:2014-10-17 18:00:05

标签: extjs window extjs4.2 tabpanel formpanel

我正在开发一个应用程序,我的要求是开发以下屏幕:

  1. 添加屏幕以接受用户输入(表单面板)
  2. 查看详细信息屏幕以显示用户输入(网格面板)
  3. 编辑屏幕以编辑用户输入(不确定它应该是窗体还是窗口)。
  4. 我有一个网格面板的'itemdblclick'监听器。因此,当用户双击网格行时,编辑屏幕必须打开,并在字段中填充详细信息。

    我想在添加和编辑屏幕时使用通用类,但这里的问题是, 如果我扩展一个窗口,编辑屏幕会出现但不会添加屏幕而如果我扩展一个面板,则会打开添加屏幕,但编辑屏幕不会出现..

    Ext.define('ELM.view.cl.Edit',{                   
    extend:'Ext.window.Window',
    ...
    
    Ext.define('ELM.view.cl.Edit',{
    extend : 'Ext.form.Panel',
    ...
    

    注意:我有一个标签面板,我将添加和查看屏幕添加为不同的标签,而编辑屏幕只是一个窗口。

    据我所知,tabpanel可能没有窗口作为子组件。

    请告诉我这里有什么问题?我应该扩展一个'容器',也可以在其他地方指定'formpanel'和'window'。 ?我如何达到我的要求?任何参考资料都有帮助......

    提前致谢

1 个答案:

答案 0 :(得分:0)

我通过定义扩展表单面板的表单解决了这个问题:

Ext.define('ELM.view.cl.Edit',{
extend : 'Ext.form.Panel',
alias: 'widget.cledit',
...

然后在编辑窗口中显示表单。我创建一个新窗口,然后添加我刚创建的窗体面板作为窗口的子元素。 就像这样,

 Ext.define('ELM.view.cl.EditWindow',{                   
    extend:'Ext.window.Window',
   items: [
          {
             xtype: 'cledit'
          }
         ]
});

希望它可以帮助某人:)