ExtJS 多行工具栏

14

如何在ExtJsToolBar中使用多行?我想要在第一行上放置几个控件,第二行上放置3个ExtJsButtons。该工具栏是面板的顶部工具栏。

6个回答

19

之前版本不确定,但从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


17

你没有提到想要在哪个小部件上添加工具栏,但通常你可以添加任意数量的工具栏:

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's container panel
tPanel.add(anotherToolbar);

2

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]
});  

我知道这个问题已经很老了,并且已经有人回答过了,但也许它可以帮助某些人 :)


1

0

0

我不确定是否可能,但您可以始终使用行布局将北区域(例如,如果使用边框布局)分成两行。然后,您可以将一个工具栏添加到顶部行,另一个工具栏添加到第二行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接