Панель инструментов ExtJS с несколькими строками

Возможно ли иметь ExtJsToolBar с несколькими строками? Я хочу несколько элементов управления в первой строке и 3 ExtJsButtons на втором. Панель инструментов является верхней панелью панели.

Ответы

Ответ 1

Вы не упомянули, какой виджет вам нравится добавлять панели инструментов, но в целом вы можете добавить столько панелей инструментов, сколько хотите:

var panel = new Ext.Panel();
var tool1 = new Ext.Toolbar({...});
var tool2 = new Ext.Toolbar({...});

panel.add(tool1);
panel.add(tool2);
...

Если вы хотите добавить дополнительную панель инструментов в верхнюю часть сетки, тогда найдите компонент панели сетки и добавьте в нее панели инструментов. Это может выглядеть так (не проверено):

tPanel = grid.getTopToolbar().ownerCt; // get top toolbar container panel
tPanel.add(anotherToolbar);

Ответ 2

Не уверен в более ранних версиях, но с ExtJS 4.0 вы можете сделать это, когда вы определяете сетку:

dockedItems: [
    {
        xtype: 'toolbar',
        dock: 'top',
        items: [
            {text:'Toolbar 1 Button 1'},
            {text:'Toolbar 1 Button 2'}
        ]
    },
    {
        xtype: 'toolbar',
        dock: 'top',
        items: [
            {text:'Toolbar 2 Button 1'}
        ]
    }
],

http://dev.sencha.com/deploy/ext-4.0.2a/docs/#/api/Ext.panel.Panel

Ответ 3

Как насчет dockedItems намного проще.

var toolbar1 = {
   xtype : 'toolbar',
   dock : 'top', // bottom, right, left
   items: [...]
};

var toolbar2 = {  
   xtype : 'toolbar',
   dock : 'top',
   items: [...]
};

Ext.create('Ext.panel.Panel', {
    dockedItems: [toolbar1,toolbar2]
});  

Я знаю его довольно старый и уже ответил, может быть, это может помочь кому-то:)

Ответ 5

Я не уверен, возможно ли это или нет, но то, что вы всегда можете сделать, состоит в том, чтобы разделить северную область (например, используя макет границы) на две строки с использованием макета строки. Затем вы можете добавить одну панель инструментов в верхнюю строку, а другую - во вторую строку.

Ответ 6

Посмотрите эту тему на форуме Ext. В нем описано, как создать панель инструментов и отобразить ее на существующей панели инструментов.

http://www.extjs.com/forum/showthread.php?t=12433