我有一个tabpanel。在选项卡中,我有一个面板,其中包含一个工具栏和3个项目:[fieldset,gridpanel和另一个fieldset(或一些按钮)]。我无法让gridpanel显示滚动条。它仅在我设置网格面板的最大高度/最小高度时才有效 我也尝试在一个容器内包装gridpanel。没运气。 在示例中,我使用适合布局。我尝试了“锚”布局,并为gridpanel指定了锚:'100%50%',希望在我调整浏览器大小时它会调整大小。没有运气。
或者,如果gridpanel是选项卡中的唯一项目,则autoscroll将起作用。所以它出现在另一个面板中时,自动滚动/调整大小不起作用。
我在这里错过了什么吗?
Ext.application({
name: 'MyApp',
launch: function () {
// create the data store
var d = ['company', 100];
var myData = [];
for (var i = 0; i < 50; i++) {
myData[i] = d;
}
var store = Ext.create('Ext.data.ArrayStore', {
fields: [{
name: 'company'
}, {
name: 'price',
type: 'float'
}],
data: myData
});
Ext.create("Ext.container.Viewport", {
layout: {
type: 'border'
},
items: [{
xtype: 'toolbar',
id: 'headerbar',
region: 'north',
height: 30
}, {
xtype: 'toolbar',
id: 'menubar',
region: 'north',
height: 30
}, {
xtype: 'tabpanel',
itemId: 'maintabpanel',
activeTab: 0,
region: 'center',
plain: true,
margins: '5 5 5 5',
layout: 'fit',
items: [{
closable: false,
title: 'Tab',
margins: '0 0 0 0',
items: [{
xtype: 'panel',
title: 'Panel',
layout: 'fit',
tools: [{
type: 'help',
tooltip: 'Help'
}, {
type: 'close',
tooltip: 'Close'
}],
items: [{
xtype: 'fieldset',
title: 'Field Set',
layout: 'hbox',
items: [{
xtype: 'textfield',
fieldLabel: 'Input'
}]
}, {
xtype: 'gridpanel',
autoScroll: true,
store: store,
columns: [{
text: 'Company',
flex: 1,
sortable: true,
dataIndex: 'company'
}, {
text: 'Price',
flex: 1,
sortable: true,
dataIndex: 'price'
}],
viewConfig: {
autoFit: true
}
}, {
xtype: 'fieldset',
title: 'Field Set 2',
layout: 'hbox',
items: [{
xtype: 'textfield',
fieldLabel: 'Output'
}]
}]
}]
}]
}, {
xtype: 'box',
id: 'footer',
region: 'south',
html: '<h1> Copyright 2012</h1>',
height: 30
}]
});
}
});
答案 0 :(得分:2)
请注意,gridpanel的父面板具有fit
布局,但它有多个项目(fieldset,gridpanel和另一个fieldset)。 fit
布局只能有一个孩子。
此外,fit
面板的父级(带closable : false
的面板 - 标签)没有布局定义。