(1)-b. 検索結果保持方式の選択
検索結果項目数や検索結果レコードデータ量が多い画面を表示する際に、
Salesforceの画面表示制限であるビューステートが発生し、画面が表示されないことがあります。
(よくある質問:< 7-6-1. ビューステート(ViewState)の最大表示サイズの制限を超えてしまう >)
ビューステートを発生しにくくするために、データテーブルのプロパティ「検索結果保持方式」の
選択設定により検索結果の表示方法「検索結果保持方式」を選択設定することができます。
(※「検索結果保持方式」を設定するには、「ページング有り」にチェックが入っていることが必須)
エラーを発生しにくくするために、1画面に表示するデータ件数を調整することで、エラーの回避を可能にします。
「検索結果保持方式」による機能の比較を以下に示します。
検索結果保持方式 | ページング | ソート | 検索処理 |
---|---|---|---|
クライアントサイド (デフォルト設定) | ・クライアント画面上で処理するため速い | ・クライアント画面上で処理するため速い | ・表示データ量(項目数、レコード件数)が多いとView Stateエラーが発生する可能性有り |
サーバーサイド | ・サーバーに通信し、メモリに保存しているデータを画面に表示する | ・サーバーに通信し、メモリに保存しているデータを画面に表示する | ・クライアントサイド方式よりもViewStateエラーが発生しにくく、テーブル機能が活かされた検索処理が実行可能。 |
毎回クエリ実行 | ・サーバーに通信し、クエリ実行して最新データを取得して画面に表示する。そのため速度は一番遅い | ・サーバーに通信し、クエリ実行して最新データを取得して画面に表示する。そのため速度は一番遅い | ・毎回画面表示に必要なデータのみ検索クエリを実行するため、ViewStateエラーが非常に発生しにくい |
プロパティ設定値やプロパティ表示/非表示については< (7)-b-1. データテーブル >を参照してください。