2

これは、GWT の古典的な「待機 rpc 呼び出し問題」の変形です。

GWT で完全な CRUD 画面を作成し、RPC を呼び出して Oracle データベースを攻撃しました。検索条件と結果テーブル用の 1 つのパネルと、詳細フィールド用のパネルがあります。必要に応じて、両方の可視性を交換します。

結果テーブルは CellTable であり、「setVisibleRangeAndClearData」メソッドを呼び出して、ページング、列の並べ替えなどを処理するテーブルにデータを入力します (たとえば、更新 RPC 呼び出しから戻ったとき、来た範囲を保持します)から)。

以前は、RPC 呼び出しの「onSuccess」ブロックに「アフター コード」を配置して「シンクロ」を作成していましたが (つまり、パネルを交換)、「setVisibleRangeAndClearData」を呼び出すと、cellTable 自体が別の RPC 呼び出しを起動して新しい値を取得します。私の管理外のデータ。そのため、パネルを交換すると(すぐに)、その後、ユーザーにはテーブルデータの更新が表示されますが、これは醜いです。

質問は次のとおりです。どうすればそれを制御できますか? 「setVisibleRangeAndClearData」が終了したときに待機または呼び出されるにはどうすればよいですか?

前もって感謝します、

デビッド

4

1 に答える 1

2
  1. テーブルをすぐに表示してからデータを入力するのは醜いことではありません。実際、UIの観点からは適切なソリューションです。ユーザーはアクションの即時結果を期待しており、ボタンを押した直後に読み込みインジケーターを表示するのが正しいアプローチです。

  2. CellTableには、便利な2つのメソッドがあります。

setLoadingIndicator()-データが到着するまでテーブルに表示する必要があります。

onLoadingStatusChange()。

于 2012-10-25T17:10:19.170 に答える