0

このトピックについて何かがあると確信していますが、検索の言葉を理解することはできません。

UIのページンググリッドに読み込まれるレコードのテーブルがあります。ユーザーはこれらのレコードを更新/変更することができます。また、複数のユーザーが一度にシステムを使用して、すべて同じデータにアクセスすることができます。ページンググリッドにフィルターがあり、ユーザーはXタイプのレコードのみを表示できます。

ユーザーがフィルターXを選択して最初に入力すると、2ページの1ページにアイテム1〜25が表示されます。2ページ目にアイテムが26〜50になるはずですが、ページングする前に、最初のページの25レコードにそれらのタイプは別のユーザーによって変更されましたが、そのフィルターを選択したときに表示されなくなりました。これで、ページに表示されるアイテムが25少なくなりました。つまり、以前は26〜50だったアイテムが1〜25になり、2ページ目が1ページになり、2ページ目がなくなりました...

おそらく私が直面している問題を見ることができます。次のページの結果を取得するためにクエリにオフセットを渡します。しかし、オフセットが非常に高いため、ユーザーとレコードを混乱させるレコードの空白ページが返されます。処理。

4

1 に答える 1

1

この問題に対する簡単な解決策はありません。Gmail / Googleでさえ、何かを検索したときに見つかったメッセージ/ページの正確な数を表示しません。

最初にできること(DataGrid/を使用する場合)は、を呼び出すときのようCellTableにブール値を設定し、exactレコードの総数ではなく現在のレコード数を指定することです。これにより、ポケットベルに「1〜25/50」ではなく「1〜25/25以上」が表示されます。falseupdateRowCount

次の可能性は、行数を定期的に更新することです(RPCポーリングを使用して新しい/削除されたレコードをチェックするか、サーバープッシュ技術を使用します。GWTEventServiceおよびServerPushFAQを参照してください)。

リクエストがアイテムを返すかどうかを確認し、返されない場合は呼び出しをキャンセルするか、行数を更新することもできます。

于 2012-11-29T18:14:28.277 に答える