我一直在尝试使我的treepanel可以通过两种方式滚动。
这是我的代码:https://fiddle.sencha.com/#fiddle/13cb
我可以在包装面板中设置scrollable: true
,但这不能解决水平滚动问题。
此外,通过这种方法,组合框也可以向上滚动。但我只希望树面板水平和垂直滚动。我该如何实现?
提前致谢
最佳答案
我不确定我们能否实现您想要的目标。但是,让我们尝试。
为了使垂直滚动条起作用,必须在树面板上定义一个高度。到目前为止,由于未为其定义高度,因此该树面板会动态调整其内容的高度。由于即使父面板也没有定义高度,因此以百分比形式给出高度也将不起作用,但是例如高度:500如果您需要在调整浏览器窗口大小时使布局浮动,请查看父面板的vbox
或border
布局。
为了使水平滚动条起作用,您必须知道网格列如何起作用。您尚未定义列配置,这使树形面板假定您希望单个列占用树形面板宽度的100%:
if (!me.columns) {
if (me.initialConfig.hideHeaders === undefined) {
me.hideHeaders = true;
}
me.addCls(me.autoWidthCls);
me.columns = [{ // define columns configuration with a single column
xtype : 'treecolumn', // the column should be a treecolumn
text : 'Name',
flex : 1, // and take up 100% of the width of the panel
dataIndex: me.displayField // and use the displayField as
}];
}
您不能使列自动占据其内容所需的宽度。但是你可以收听nodeexpand and nodecollapse事件并致电column.autoSize()。