我正在创建一个使用多个Panel
组件的EXT窗体,其中一个组件折叠到左侧。当它这样做时右边的Panel
(称为centrePanel,因为尽管它在右边有一个'中心'区域),并且其子节点扩展。 centrePanel
的直接子女是Panel
,如果其上的数据不适合Panel
,则该子女已被设置为滚动。我遇到的问题是,当我折叠左侧的Panel
时,任何滚动条消失。扩展不会使他们回来。但有两点需要注意:extjs 3.4面板崩溃时滚动条消失
- 我仍然可以使用鼠标在两个
Panel
之间滚动。 - 折叠后的
Panel
折叠并展开一次,并且任何滚动条消失后,当左侧Panel
随后折叠时,其他面板上的滚动条再次短暂可见。一旦崩溃事件结束,滚动条不再可见。当Panel
再次展开时,不会发生这种情况。
这里是相关的代码。
可折叠Panel
(宣布对飞作为窗口的项目的一部分):
region: "west",
width: "38%",
title: "Filter",
collapsible: true,
items: [myFilterFormPanel],
listeners:{
collapse: function(panel){
//Make centre panel and children wider when filter panel is collapsed.
centrePanel.setWidth(1000);
searchResultsPanel.setWidth(1000);
myColumnModel.setColumnWidth(0, 540);
myColumnModel.setColumnWidth(1, 165);
myColumnModel.setColumnWidth(2, 165);
},
expand: function(panel){
//Make centre panel and children wider when filter panel is collapsed.
centrePanel.setWidth(659);
searchResultsPanel.setWidth(659);
myColumnModel.setColumnWidth(0, 200);
myColumnModel.setColumnWidth(1, 90);
myColumnModel.setColumnWidth(2, 90);
}
}
myFilterFormPanel:
var myFilterFormPanel = new Ext.FormPanel({
border: false,
id: windowId + "myfilter",
items: [stationsPanel, datesPanel, daysPanel, impactPanel, searchButton]
});
centrePanel(包含可滚动的面板,但不是滚动本身) :
var centrePanel = new Ext.Panel({
border: false,
items: [searchResultsPanel, individualResultPanel]
}
});
searchResultsPanel(它变成可滚动的必要时):
var searchResultsPanel = new Ext.grid.GridPanel({
title: "All Results",
id: windowId + "allresults",
region: "north",
height: 250,
border: false,
padding: 10,
autoScroll: true,
// style:'overflow-y:auto',
colModel: myColumnModel,
store: myStore,
listeners: {
rowclick: function(thisRow, rowIndex){
//Display additional information in individual result panel.
var myData = myStore.getAt(rowIndex).data;
individualResultPanel.body.update("<h1><u>Summary</u></h1><p>" + myData.summary + "</p>"
+ "<h1><u>Body</u></h1><p>" + myData.body + "</p>"
+ "<h1><u>Additional Information</u></h1><p>" + myData.additionalInformation + "</p>"
+ "<h1><u>Customer Information</u></h1><p>" + myData.customerInformation + "</p>"
+ "<h1><u>Further Information</u></h1><p>" + myData.furtherInformation + "</p>"");
}
}
});
individualResultPanel(也成为可滚动的);
var individualResultPanel = new Ext.Panel({
border: false,
autoScroll: true,
title: "Selected Result",
id: windowId + "individualresult",
region: "south",
height: 250,
padding: 10,
});
在searchResultsPanel
我试着设置样式为overflow:auto;
这就是设置autoScroll
到true
不反正但这并没有改变任何东西。我也尝试减小其中一个可解的Panel
s的宽度,但这也没有什么区别。我想动态地改变可滚动Panel
的风格时,折叠Panel
折叠,但考虑到我总是可以滚动,我不认为这将有所作为,但纠正我,如果我错了。
如果你能提供一个[小提琴](http://fiddle.sencha.com),这样我们就可以稍微玩一下了。但否则..好帖子 – Scriptable 2015-01-15 15:57:53