0

中規模のバック オフィス アプリケーション用に新しい次世代サーバーを構築しています。クライアント側 (gwt \ vaadin \ zkoss) に Java フレームワークを使用することは既に決定済みです。

私たちが今望んでいるのは、各テクノロジーの概念実証の例を作成することです。

私たちのバック オフィスの UI は非常に標準的です。DB から直接エントリを表示するフィルタを備えたテーブル \ グリッドがあります。

問題は、各テーブルに大量の行 (最小 1M) があることです。これは、それらのテーブルにロード オン デマンド テーブルを使用する必要があることを意味します。

私の質問は、大きなテーブルにロード オン デマンド テーブルを実装するにはどうすればよいですか? 私は周りを見回して、次の概念を何度も見ました。

コンテナを作成し、コンテナにデータを入力すると、データがクライアント側に表示されます。

問題は、この単純な方法でコンテナーに 1M のエントリを入力しようとしたところ、ひどかったことです。組み込みのオンデマンド コンテナはありますか?>

コード例\参照は非常に役立ちます!

4

2 に答える 2

0

Vaadin には、ほとんどのコンポーネントでデータを遅延読み込みするという優れた概念があります。たとえば、テーブル、リスト、ドロップダウンなどにはその概念があります。

最初に知っておく必要がある唯一のことは、合計行数です。それ以外はすべて「オンデマンド」で処理できます。

たとえば、テーブル コンポーネントは、最初は約 30 行 (カスタマイズ可能) のみをロードし、必要に応じて行をフェッチします。(または、通常、ユーザーが次の行にスクロールする直前にフェッチされる方がよい)

例はこのデモです

http://demo.vaadin.com/dashboard/#!/transactions

バックエンドからデータを取得する方法は、使用するテクノロジーによって異なります。しかし、vaadin には、すべての 1mio をロードする必要がない実用的な概念があります。行をメモリに格納すると、行を表示する必要があるため、「オンデマンドでフェッチ」を処理します。

于 2013-10-03T20:02:49.880 に答える
0

サーバーからデータを取得することにより、ユーザーのページングおよびソート イベントを処理できるを持つGWT Cell Tableを使用することをお勧めします。AsyncDataProvider

ListDataProviderまた、データをオブジェクトのリストとして取得し、そのデータをテーブルに設定できる代替手段も提供します。を使用する場合はListDataProvider、オブジェクトをComparators でソートする方法を定義する必要があり、テーブルはそのリストに対してソートとページングを処理します。

その他の例とチュートリアルについては、Google の「gwt celltable asyncdataprovider example」を参照してください。

于 2013-10-03T17:20:28.900 に答える