2013-03-14 170 views
1

我需要創建幾個視圖,具有相同的內容,只有一個網格將會有一點點不同。擴展extjs視圖

我的想法是創建一個基礎的觀點,但我不知道如何在繼承類改變這種網格。

基地:

Ext.define('App.view.cadastro.FiltroBase',{ 
    extend: 'App.controls.CoWindow', 
    alias: 'widget.filtrobase', 
    modal: false, 
    width: 800, 
    height: 400, 
    layout: 'vbox', 
    items: [ 
     { 
      xtype: 'container', 
      layout: { 
       type: 'hbox', 
       align: 'middle' 
      }, 
      width: '100%', 

      defaults: { 
       padding: 4 
      }, 
      items: [ 
       { 
        xtype: 'label', 
        text: i18n.procurarPor 
       }, 
       { 
        xtype: 'combobox', 
        itemId: 'comboBox', 
        queryMode: 'local', 
        forceSelection: true, 
        width: 150 
       },{ 
        xtype: 'label', 
        text: 'Filtro:' 
       }, 
       { 
        xtype: 'textfield', 
        itemId: 'filtro', 
        enableKeyEvents: true, 
        flex: 1 
       }, 
       { 
        xtype: 'container', 
        width: 100, 
        layout: 'fit', 
        items: [ 
         { 
          xtype: 'button', 
          text: i18n.pesquisar, 
          action: 'pesquisar', 
          itemId: 'botaoPesquisa', 
          icon: 'assets/img/16/find.png' 
         } 
        ] 
       } 

      ] 
     }, 
     { 
      xtype: 'grid', ****************** 
      flex: 1, 
      width: '100%', 
      itemId: 'grid', 
      columns: [ 
       { 
        text: i18n.nome, 
        dataIndex: 'nome', 
        flex: 1 
       } 
      ], 
      dockedItems: [{ 
       xtype: 'pagingtoolbar', 
       dock: 'bottom', 
       displayInfo: true 
      }]***************** 
     } 
    ], 
    buttons: [ 
     { 
      text: i18n.incluir, 
      action: 'incluir', 
      itemId: 'botaoIncluir', 
      icon: 'assets/img/16/new.png' 
     }, 
     { 
      text: i18n.editar, 
      action: 'editar', 
      itemId: 'botaoEditar', 
      icon: 'assets/img/16/edit.png' 
     } 
    ] 

}); 

回答

4

的總體思路是:做這樣的事情:

Ext.define('BaseGrid', function(){ 
    initComponent: function(){ 
     this.columns = this.getColumns(); 
     this.callParent(); 
    }, 

    getColumns: Ext.emptyFn 
}); 

Ext.define('SubGrid', { 
    getColumns: function(){ 
     return []; 
    } 
}); 
+0

可能有助於更具描述這樣的新手用戶會理解,但對於+1是正確。 – Reimius 2013-03-14 21:50:25

+0

非常好。謝謝。 – Beetlejuice 2013-03-15 08:55:46