ページナビゲーションを使用したリストビューの場合の行数はどのような方法で表示させていますか?

やるなら最もCoolな方法で、低負荷、少ない通信量で実現したいですよね。

このページでは以下のことがわかります!

  • ページナビゲーションで改ページがあるリストビューのレコード件数の表示方法
  • サーバーサイドコマンドで指定条件のレコード件数の取得方法

このページの想定読者

  • レコード件数の多いリストビューを扱うことが多い方
  • サーバーサイドコマンドを使ったことがない方、あまり使ったことがない方
  • わくわくしたい人

このページの情報はV8以降で動作確認済みです。

サーバサイドコマンドとは

あらかじめ定義した処理をForguncy Server上で実行する機能として、「サーバーサイドコマンド」と「スケジュールタスク」という機能があります。
その1つである「サーバーサイドコマンド」は、HTTPリクエストにより処理を動作させることができます。再利用コマンド同様に各画面から使用することができ、専用コマンド(サーバーサイドコマンドの呼び出し)が準備されています。

使用するパソコンでサーバーサイドコマンドを初めて使用する場合には、ナビゲーションウインドに表示させる必要があります。

サーバーサイドコマンドの表示方法

①表示オブジェクトの選択ダイアログを表示

「ナビゲーションウインド」と表示されている右の歯車ボタンをクリックする。

補足の説明文を記入する

②「表示オブジェクトの選択」内の設定

「サーバーサイドコマンド」にチェックを付け、OKボタンをクリックする。

③設定内容の確認

「ナビゲーションウインド」に「サーバーサイドコマンド」が追加されていることを確認する。右クリックで新しいサーバーサイドコマンドを作成することができます。

件数を取得するサーバーサイドコマンドの作成

①サーバーサイドコマンドのところで右クリックし、「新しいサーバーサイドコマンドの作成...」をクリック

②「全般」タグの設定

名前と説明を入力する。名前はどのような機能かが分かるよう名前にすると、選択がしやすくなります。今回は、「レコード件数取得」とします。また、説明を入力しておくとナビゲーションウインドでマウスカーソルを持っていくと、入力した内容がサーバーサイドコマンドの説明としてツールチップで表示(下図)されます。【テンプレート付き!】コメントを書く時のコツもぜひ参考にしてみてください。

③「パラメーター」タグの設定

「新しいパラメータ」ボタンをクリックする。三角ボタンをクリックすると、「テーブルからフィールドを選択して追加」が表示されます。今回は画面で入力された検索条件を使用するため、「新しいパラメータ」ボタンをクリックします。

パラメータ名称は分かりやすい名称にしましょう。また、説明も入力(説明のリンクをクリック)しておくと呼び出し時に設定ミスを減らすことができます。

④「戻り値」タグの設定

戻り値はサーバーサイドコマンドを呼び出した側に結果をここに格納して戻します。複数の設定も可能です。また、型の設定は不要です。
※今回は1つとします。

「新しい戻り値」をクリックして、戻り値行を追加する。ここでも変数は分かりやす名前(今回はレコード数)にします。ここでも、説明を入力しておくとよいでしょう。

⑤「コマンド」タグの設定

「コマンド」リンクをクリックして、コマンド設定ダイアログを表示する。

「変数の設定」コマンドを選択し、変数名(任意)を設定、変数値で「データベースのテーブルから参照」を選択、選択タブで「レコード数」を選択する。

「クエリ」タブで条件を設定する。「新しい条件」ボタンをクリックして、条件を追加する。基本的に「クエリー」コマンド同じように設定しますが、値はパラメータを設定します。下図の方法で設定できます。

条件に使用したい変数を選択して、ダブルクリックする。

「リターン(コマンドの終了)」コマンドを選択し、レコード数に1つ前で設定した変数の「取得レコード件数」を設定する。ここで設定した値は、サーバーサイドコマンド呼び出し元で受け取ることができます。

サーバーサイドコマンドを使用する

ここからは、ボタンのコマンド内でサーバーサイドコマンドを呼び出し、取得結果を件数として表示させる手順を説明していきます。

通常のリストビューの絞り込みと同じ設定を行う。

リストビューに表示されている情報を検索条件に沿って更新するために、「クエリー」コマンドで検索条件を設定する。

サーバーサイドコマンドの呼び出し設定を行う。

サーバーサイドコマンドは、手順の最初に作成したサーバーサイドコマンド(レコード件数取得)を選択します。パラメータの「検索条件_部署名」は、先のリストビューの絞り込み条件と同じものを設定します。

戻り値の「レコード数」がサーバーサイドで取得した検索条件に一致するレコードの件数になります。「格納する変数名」は変数以外に、特定のセルを設定することもできます。今回は件数を表示させる特定のセルを設定します。

最後に、動作確認を行います。
まずは改ページなしの場合に、サーバーサイドコマンド取得した件数が正しく設定されている確認する。

リストビューのレコード数とサーバサイドコマンドから取得した件数が一致していれば検証はOKです。

続いて、改ページがある場合に、サーバーサイドコマンド取得した件数が正しく設定されている確認する。

リストビューのレコード数(1ページ表示数×(ページ数×1)+最終ページのレコード数)とサーバーサイドコマンドから取得した件数が一致していれば検証はOKです。

(締め)レコード件数が多い場合でかつ、検索件数を表示が必要な場合も、これ1つ覚えれば気にすることなくページナビゲーションを利用することができます。また、今回作成したサーバーサイドコマンドは同じ条件で検索件数を取得したい場合に、別の画面からも呼び出すことも可能なため、開発工数を短縮することができます。

関連記事

【著者】

Jun

I’m Forguncy lover!

2019年にForguncyに出会い、今では、(自称)日本一のForguncyファンです。アップデート毎に増える機能にいつもワクワクしています。もっと、開発者にForguncyの魅力を知ってもらい、使いこなし、私たちと同じようワクワクする体験をして欲しいと思い、有志とともに2025年6月30日にForguncy Users Communityを立ち上げさせてもらいました。当サイトにアクセスした開発者がワクワクする情報を発信していきたいと思います。