GWTのCellBrowserは、動的データを表示するのに最適です。GWT CellBrowser-すべての値を常に表示するには?
しかし、ブラウザにいくつかの(見かけ上)任意の最大値よりも多くの行が含まれている場合、ユーザーがクリックして見えない行をフェッチするための「詳細表示」ラベルが提供されます。
この動作を無効にして、常にすべての行を表示できるようにするにはどうすればよいですか?
GWTのCellBrowserは、動的データを表示するのに最適です。GWT CellBrowser-すべての値を常に表示するには?
しかし、ブラウザにいくつかの(見かけ上)任意の最大値よりも多くの行が含まれている場合、ユーザーがクリックして見えない行をフェッチするための「詳細表示」ラベルが提供されます。
この動作を無効にして、常にすべての行を表示できるようにするにはどうすればよいですか?
(あなたは組み合わせることができた)「ショー詳細」を取り払うことのいくつかの方法があります。あなたのTreeViewModel
で
、あなたのNodeInfo
年代setDisplay
またはDataProvider
では、 DefaultNodeInfo
、onRangeChange
:ディスプレイの表示範囲をデータのサイズに上書きします。
CellBrowser
を延長し、そのcreatePager
メソッドを無効にしてnull
を返します。しかし、リストのページサイズは変更されませんが、そこでは非常に高い値に設定することもできます。
以下の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;
}
}
私はCellBrowserのビルダーにページサイズを設定する有効かつ単純な解決策を発見しました。 これが役立つことを願っています。
CellBrowser.Builder<AClass> cellBuilder = new CellBrowser.Builder<AClass>(myModel, null); cellBuilder.pageSize(Integer.MAX_VALUE); cellBrowser = cellBuilder.build();
これを行うための最も簡単な方法は、使用している:あなたの携帯ツリー上の
cellTree.setDefaultNodeSize(Integer.MAX_VALUE);
方法。ツリーの展開を開始する前にこれを行う必要があります。
良い質問です。 'CellBrowser.createDisplay(...)'は 'new BrowserCellList(...)'を呼び出します。そしてそれは 'CellList.DEFAULT_PAGE_SIZE'を使用します。これは25に固定されています。 –