1

固定サイズ(250ピクセル)のVerticalLayoutContainerにグリッドを追加して、ユーザーが垂直方向にスクロールできるようにしようとしています。

次のコードを使用していますが、グリッドがまったく表示されません。

    VerticalLayoutContainer vPanel = new VerticalLayoutContainer();
    vPanel.setHeight("250px");
    vPanel.add(grid, new VerticalLayoutData(1, 1));

    grid.setHeight("auto");

    add(vPanel);

グリッドは他の状況では表示されますが、他のGUI要素を覆い隠します(スクロールバーはありません)。

うまくいけば、これはSenchaGXTの経験が豊富な人にとって簡単な修正です。

私を助けるために時間を割いてくれた誰かに感謝します...

4

2 に答える 2

2

これを試して:

vPanel.getScrollSupport().setScrollMode(ScrollMode.auto);

それが機能しない場合は、これを試してください:

`

ContentPanel p = new ContentPanel();
p.setHeaderVisable(false);
p.setBodyBorder(false);
p.setBorder(false);
p.setHeigh(250);
vPanel.add(p);
p.add(grid);

`

次にグリッドは、自動的にスクロールモードになります。

于 2013-02-22T08:11:05.123 に答える
1

で同じ問題が発生し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!
于 2014-06-24T18:41:14.440 に答える