検索結果を表示する時、いつも迷うのが、ページャーをどこまで作りこむかです。
特に、実装に迷います。
データベースによっては、SQLで直接範囲指定できるものもありますが、製品を限定しない方法だと、
自分で現在位置を管理する必要があります。
まず、検索結果でユニークになるキーがあるかどうかでも方法が違ってきます。
キーが無いと、方法が限られるので、"有り"としましょう。
| << | >> |
めくる行数(頁行数)は割愛します。
「次頁」では、表示の最終の行の並び順の項目の値とキーを保持しておいて、それより大きいを検索条件にすれば良い。
「前頁」では、表示の最初の行の並び順の項目の値キーを保持しておいて、それより小さいを検索条件にする。
この時、抽出する並び順は逆にします。
読み込む際は、カーソルで頁数より1行余計に読みます。
これは、さらに次ページがあるかどうかを判断するのに使います。
(「次頁」「前頁」の活性・非活性化をする)
途中で行が削除されたり追加された場合は、その分ずれますが、あまり問題は無いと思います。
| « 前頁 | 次頁 » |