私は、順番に、春のリポジトリで使用する春のページング可能を作成します。PAGEおよびSIZEパラメータCallbaсkDataProviderは、ページング可能ページへのオフセットとリミットの変換やサイズ
/fetchrecords?page=0&size=10
を受け入れ、既存のRESTサービスを持っています
Pageable pageRequest = new PageRequest(page, size, Sort.Direction.DESC, "created");
しかし私はそれがOFFSETとLIMITはBackendDataProviderのために使用されるように生成し、今Vaadin 8 CallbackDataProviderを使用します。
dataProvider = new CallbackDataProvider<MyPojo, Void>(
query -> service.fetchrecords(query.getOffset(), query.getLimit()).stream(),
query -> service.getCount());
もちろん、これはoffset!= pageとして機能しません。また、オフセット値に基づいて、残っているレコード数に基づいて制限値が変更されます。
残り/サービスを書き直さずに、DataProviderのOFFSETとLIMITからPAGEとSIZEに正しく移動するにはどうすればよいですか?
(これはあなたにpageSizeを与える)からオフセットを減算してから、pageSize(ページ)でオフセットを除算することができます。 – ByeBye
@ByeByeオフセットが正確にページの先頭にない場合はどうなりますか? –
@ByeBye Vaadin DataProviderは、コンポーネント(グリッド)をスクロールするときに常に制限とオフセットを変更するため、直接ページ/サイズを基にすることが信頼できないと思われます。 – steve