GXT 3网格滚动问题

时间:2012-08-21 07:45:46

标签: gwt gxt

我正在使用GXT 3.0.0b。

我在ContentPanel上有一个Grid。当我明确设置ContentPanel宽度时,滚动没有问题。但是当我把网格放在VerticalLayoutContainer中时,网格的垂直滚动条消失了,只能用鼠标滚轮滚动。

有人知道如何解决这个问题吗?

3 个答案:

答案 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()对象解决了该问题。