Я не уверен, можем ли мы достичь именно то, что вы хотите. Но давайте попробуем.
Чтобы получить вертикальные полосы прокрутки, вы должны определить высоту на дереве. На данный момент древовидная полоса динамически изменяется динамически до высоты ее содержимого, так как для нее не определена высота. Поскольку даже родительская панель не имеет определенной высоты, значение высоты также не будет работать, но, например, высота: 500 будет. Если требуется, чтобы макет планировался при изменении размера окна браузера, просмотрите макеты vbox
или border
для родительской панели.
Чтобы получить горизонтальные полосы прокрутки, вы должны знать, как работают столбцы сетки. Вы не определили конфигурацию колонка, что делает TreePanel предположит, что вы хотите один столбец занимает 100% от ширины TreePanel:
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().
Использует 'style: {overflow: 'auto'}' на дереве, что вы после? –
Ваше предложение позволяет прокручивать в обоих направлениях, да, но это не совсем то, что мне нужно. С вашими решениями панель инструментов в моей панели тоже прокручивается («Я обновил свою скрипку») – xdn