我正在创建一个使用多个Panel
组件的EXT应用程序。其中一个是GridPanel
,其中包含一个Column
。在我的GridPanel
我已将autoExpandColumn
配置设置为此Column
,因为我的Panel
个组件之一是可折叠的,因此在折叠其他Panel
组件时展开,Column
也扩展。当Window
处于正常尺寸且折叠Panel
折叠时,Column
会展开以占据GridPanel
的整个宽度。但是,当Window
最大化时,列不会展开,而是保持与窗口最大化时相同的宽度,并且折叠Panel
不会折叠(这比Window
处于正常大小)。 Window
有一个BorderLayout
,这就是前两个Panel
组件使用region
属性的原因。
以下是相关代码:
配置Window
:
title: 'Engineering Works',
width: 915,
height: 550,
// minHeight: 550,
// minWidth: 915,
resizable: false,
padding: 10,
shim:false,
// monitorResize: true,
confirmClose: true,
animCollapse:false,
constrainHeader:true,
style: {
margin: "10px"
},
layout: "border",
items: [filterFormPanel,centrePanel]
可折叠面板:
var filterFormPanel = new Ext.FormPanel({
region: "west",
monitorResize:true,
width: "38%",
title: "Filter",
collapsible: true,
id: windowId + "filter",
items: [stationsPanel, datesPanel, daysPanel, impactPanel, searchButton]
});
centrePanel(包含另外两个面板,其中第一个(searchResultsPanel)是上面解释的GridPanel
var centrePanel = new Ext.Panel({
region: "center",
layout:'border',
monitorResize:true,
items: [searchResultsPanel,individualResultPanel]
});
searchResultsPanel(包含一个rowclick
侦听器,我省略了它,因为它很长并且与此问题无关):
var searchResultsPanel = new Ext.grid.GridPanel({
title: "All Results",
id: windowId + "allresults",
border: false,
monitorResize:true,
autoScroll: true,
region:'center',
forceFit: true,
colModel: myColumnModel,
autoExpandColumn: windowId + "summarycolumn",
store: mystore
});
值得指出的是GridPanel
本身确实在任何时候都能正常扩展,只有Column
里面的GridPanel
才会占用Window
filterFormPanel
的全宽度最大化并且width
已折叠。
我尝试过但没有成功:
Column
时,将GridPanel
的{{1}}配置设置为等于Panel
的宽度。这并没有解决我的问题,并导致右侧Panel
组件(centrePanel
内部)在展开折叠的Panel
时具有水平滚动条。答案 0 :(得分:0)
我通过移除autoExpandColumn
中的GridPanel
配置并使用forceFit
围绕viewConfig
配置解决了这个问题,因为它是GridView组件的配置。所以我的GridPanel现在看起来像这样(减去听众):
var searchResultsPanel = new Ext.grid.GridPanel({
title: "All Results",
id: windowId + "allresults",
border: false,
monitorResize:true,
autoScroll: true,
region:'center',
colModel: myColumnModel,
viewConfig: {
forceFit: true
},
store: mystore
});