我正在使用GXT 3.0.0b。
我在ContentPanel上有一个Grid。当我明确设置ContentPanel宽度时,滚动没有问题。但是当我把网格放在VerticalLayoutContainer中时,网格的垂直滚动条消失了,只能用鼠标滚轮滚动。
有人知道如何解决这个问题吗?
答案 0 :(得分:5)
最后我设法解决了这个问题。答案相当优雅:当我向VerticalLayoutContainer添加网格时,我应该指定VerticalLayoutData参数。
示例:
verticalLayoutContainer.add(grid, new VerticalLayoutData(1, 1));
您也可以传递分数,例如,0.6将宽度(或高度)设置为60%。如果你传递-1,那么组件将拥有它自己的默认像素大小。
答案 1 :(得分:2)
我在Grid
中遇到ContentPanel
同样的问题,也就是说,网格没有显示垂直滚动条。在将网格添加到面板后,我立即使用ContentPanel#forceLayout
,它解决了问题。这是实际的代码:
Grid<Pet> grid = new Grid<>(listStore, columnModel);
grid.setBorders(true);
grid.setColumnReordering(true);
grid.setLoadMask(true);
grid.setSelectionModel(selectionModel);
grid.setView(createGridView());
ContentPanel contentPanel = new ContentPanel();
contentPanel.setHeaderVisible(false);
contentPanel.add(grid);
contentPanel.forceLayout(); // <---- this is the line that fixed the problem!
答案 2 :(得分:1)
我意识到这是旧的,但我想说Artem的解决方案帮助我解决了GXT 2.3网格滚动的类似问题。在我们的例子中,我们使用FitLayout,因此包含FitData(0)和add()调用解决了我们的问题。
我们的问题是我们有一个TreeGrid,当其中一个Tree项被展开时,网格会将展开的行跳出视图。将网格添加到根面板时添加FitData()对象解决了该问题。