2012-05-17 7 views
0

Я хочу обновить ExtJS окно просветляющего (панель инструментов) динамически, но я не знаю, как я должен заставить его работать,Extjs4, Как обновить окно bbar (панель инструментов)?

Пример кода:

var myWin = Ext.create('Ext.window.Window', { 
    modal: true, 
    layout: 'fit', 
    items: { 
    // panel 
    }, 
    bbar: ['->', { 
    xtype: 'buttongroup', 
    items: [{ 
     text: 'Cancel', 
     handler: function() { 
     invoicingWin.destroy(); 
     } 
    }] 
    }, { 
    xtype: 'buttongroup', 
    items: [{ 
     text: 'Continue', 
     handler: function() { 

     var test = new Ext.Toolbar({ 
      dock: 'bottom', 
      items: ['->', { html: "Close"}] 
     }); 

     // !! I want to replace this window bbar to test(toolbar) 

     } // btn handler 
    }]// items 
    }] 
}).show(); 

Кто-нибудь знает, пожалуйста, помогите мне.

Спасибо!

+0

Это как-то трудно понять, чего вы хотите? Вы хотите заменить bbar на панель инструментов при нажатии кнопки? – fuzzyLikeSheep

ответ

2

Я не думаю, что это хорошее решение. но он будет работать.

var myWin = Ext.create('Ext.window.Window', { 
    modal: true, 
    layout: 'fit', 
    width:400, 
    height:400, 
    items: { 
    // panel 
    }, 
    bbar: ['->', { 
    xtype: 'buttongroup', 
    items: [{ 
     text: 'Cancel', 
     handler: function() { 
     invoicingWin.destroy(); 
     } 
    }] 
    }, { 
    xtype: 'buttongroup', 
    items: [{ 
     text: 'Continue', 
     handler: function() { 

     var test = new Ext.Toolbar({ 
      dock: 'bottom', 
      items: ['->', { html: "Close"}] 
     }); 
     myWin.removeDocked(myWin.down('toolbar')); 
     myWin.addDocked(test); 
     // !! I want to replace this window bbar to test(toolbar) 

     } // btn handler 
    }]// items 
    }] 
}).show(); 
+0

ничего себе! оно работает! Большое спасибо! –

0

IMO, ExtJS не ожидает замены панели инструментов панели (и потомков панели). Обычно панель инструментов содержит список необходимых элементов, и вы их только скрываете/показываете.

На самом деле вы все еще можете использовать getDockedItems(), getDockedComponent(), addDocked(), insertDocked(), removeDocked() для удовлетворения ваших потребностей.

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