ページングを行う

ページングとは、1画面に表示するデータ量を制限して、ページごとにデータを区切って表示する方法です。
一度に表示するデータ量を減らすことでパフォーマンスの改善が期待できます。

ここでは、ページングを行う方法を説明します。
例として、ページングを行うアプリを作成しながら説明します。

テーブルを作成する

まずは以下のテーブルを作成します。

市町村マスタ

カラム データ型
市町村コード 文字列
市町村名 文字列
都道府県 文字列
分類 文字列
人口 整数
増減数_5年 整数
増減率_5年 数値(小数点あり)

レイアウトを作成する

次のレイアウトのシートを作成します。
../../../_images/img_01370.png
このシートでは、検索ボタン押下時に検索条件(都道府県、分類)に一致するデータを「市町村マスタ」から検索します。
該当するデータは市町村コードの昇順で、1ページにつき15件ずつ表示します。
また、「<前へ」ボタンを押下すると前の15件が表示され、「次へ>」ボタンを押下すると次の15件が表示されます。

制御用の値を設定する

検索処理やページング処理で使用する値やリストの内容を、以下の通り設定します。
../../../_images/img_02308.png
 [1] 現在のページ
    現在表示しているページを保持しています。初期値には1をセットします。
 [2] 1ページの行数
    1ページあたりに表示する行数を保持しています。今回は1ページあたり15件のデータを表示するため、15をセットします。
 [3] 取得開始行
    現在のページに表示するデータにおいて、取得開始位置となる値です。
    この値は「現在のページ」および「1ページの行数」によって決まり、今回は以下の式をセットします。

      =([現在のページ]-1)*[1ページの行数]+1  ※今回のサンプルの場合は「=(P2-1)*P3+1」をセット

 [4] 都道府県
    検索条件の都道府県リストの内容をセットします。

 [5] 分類
    検索条件の分類リストの内容をセットします。

アクションセットを作成する

検索アクションセットを作成する

検索条件に一致するデータのうち「現在のページ」のデータのみ取得するアクションセットを作成します。
以下のように作成します。
../../../_images/img_03228.png
  1. 前回の検索結果をクリアするためのアクションを配置します。
  2. 「テーブルから複数件取得する」アクションを配置します。以下の通り各項目を設定します。
  • 取得元テーブル … 「市町村マスタ」を指定します。

  • 表示する列と表示先 … レイアウトに合わせて、起点セルと表示する列を指定します。

  • 検索条件 … 都道府県リスト(E5セル)と分類リスト(H5セル)の選択値が条件となるよう指定します。

  • ソート条件 … 市町村コード昇順となるよう指定します。

  • 取得開始行 … 制御用の値「取得開始行」(P4セル)を指定します。

  • 取得最大件数 … 1ページに表示する件数が取得最大件数となるため、制御用の値「1ページの行数」(P3セル)を指定します。

    参考

    複数件データの取得方法の詳細については テーブルからデータを複数件取得する を参照してください。

次へアクションセットを作成する

次のページのデータを取得するアクションセットを作成します。
以下のように作成します。
../../../_images/img_04188.png
  1. 「現在のページ」をカウントアップします。
  2. 検索アクションセットを呼び出します。検索アクションセットでは「現在のページ」のデータを取得するため、値をカウントアップしておくことで次ページのデータを取得します。

前へアクションセットを作成する

前のページのデータを取得するアクションセットを作成します。
以下のように作成します。
../../../_images/img_05171.png
  1. 「現在のページ」をカウントダウンします。1 以下の場合は 1 をセットします。
  2. 検索アクションセットを呼び出します。検索アクションセットでは「現在のページ」のデータを取得するため、値をカウントダウンしておくことで前ページのデータを取得します。

アプリを実行する

  1. 検索すると、条件に一致するデータが15件だけ表示されます。
../../../_images/img_06133.png
  1. 「次へ>」ボタンを押下すると、次の15件のデータが表示されます。
../../../_images/img_07115.png
  1. 「<前へ」ボタンを押下すると、前の15件のデータが表示されます。
../../../_images/img_08107.png