我一直在尝试使我的treepanel可以通过两种方式滚动。
这是我的代码:https://fiddle.sencha.com/#fiddle/13cb

我可以在包装面板中设置scrollable: true,但这不能解决水平滚动问题。
此外,通过这种方法,组合框也可以向上滚动。但我只希望树面板水平和垂直滚动。我该如何实现?

提前致谢

最佳答案

我不确定我们能否实现您想要的目标。但是,让我们尝试。

为了使垂直滚动条起作用,必须在树面板上定义一个高度。到目前为止,由于未为其定义高度,因此该树面板会动态调整其内容的高度。由于即使父面板也没有定义高度,因此以百分比形式给出高度也将不起作用,但是例如高度:500如果您需要在调整浏览器窗口大小时使布局浮动,请查看父面板的vboxborder布局。

为了使水平滚动条起作用,您必须知道网格列如何起作用。您尚未定义列配置,这使树形面板假定您希望单个列占用树形面板宽度的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()

07-24 09:44
查看更多