5

GWTのCellBrowserは、動的データを表示するための優れた方法です。

ただし、ブラウザに(一見)任意の最大数よりも多くの行が含まれている場合、ユーザーがクリックして表示されていない行をフェッチできる「もっと見る」ラベルが表示されます。

この動作を無効にして、常にすべての行を表示するようにするにはどうすればよいですか?

代替テキスト

4

5 に答える 5

2

「Show More」を取り除くにはいくつかの方法があります (これらは組み合わせることができます)。

  • あなたのTreeViewModel、あなたNodeInfoの、setDisplayまたはあなたのあなたの、あなたのDataProviderあなたのDefaultNodeInfo、にonRangeChange:ディスプレイの可視範囲をあなたのデータのサイズに上書きします。

  • そのメソッドを拡張CellBrowserしてオーバーライドし、 return にします。ただし、リストのページ サイズは変更されませんが、非常に高い値に設定することもできます。createPagernull

于 2011-07-26T09:10:56.460 に答える
2

以下の CellBrowser は、「Show More」テキストを削除し、ページングなしで使用可能なすべての要素をロードします。

public class ShowAllElementsCellBrowser extends CellBrowser {

    public ShowAllElementsCellBrowser(TreeViewModel viewModel, CellBrowser.Resources resources) {
        super(viewModel, null, resources);
    }

    @Override
    protected <C> Widget createPager(HasData<C> display) {
        PageSizePager pager = new PageSizePager(Integer.MAX_VALUE);

        // removes the text "Show More" during loading
        display.setRowCount(0);

        // increase the visible range so that no one ever needs to page
        display.setVisibleRange(0, Integer.MAX_VALUE);
        pager.setDisplay(display);

        return pager;
    }
}
于 2012-01-03T20:45:13.773 に答える
0

ページサイズをCellBrowserのビルダーに設定することで、有効で簡単な解決策を見つけました。これが役立つことを願っています。

CellBrowser.Builder<AClass> cellBuilder = new CellBrowser.Builder<AClass>(myModel, null); cellBuilder.pageSize(Integer.MAX_VALUE); cellBrowser = cellBuilder.build();

于 2014-02-20T10:10:57.723 に答える