(1)-b. 検索結果保持方式の選択

検索結果項目数や検索結果レコードデータ量が多い画面を表示する際に、
Salesforceの画面表示制限であるビューステートが発生し、画面が表示されないことがあります。
(よくある質問:< 7-6-1. ビューステート(ViewState)の最大表示サイズの制限を超えてしまう >)

ビューステートを発生しにくくするために、データテーブルのプロパティ「検索結果保持方式」の
選択設定により検索結果の表示方法「検索結果保持方式」を選択設定することができます。

(※「検索結果保持方式」を設定するには、「ページング有り」にチェックが入っていることが必須)



エラーを発生しにくくするために、1画面に表示するデータ件数を調整することで、エラーの回避を可能にします。

「検索結果保持方式」による機能の比較を以下に示します。

検索結果保持方式

ページング

ソート

検索処理

クライアントサイド (デフォルト設定)

・クライアント画面上で処理するため速い
・変更データはページング後でも保存可能

・クライアント画面上で処理するため速い
・複数項目のソートが可能
・変更データはソート後でも保存可能

・表示データ量(項目数、レコード件数)が多いとView Stateエラーが発生する可能性有り
・画面表示速度がクライアント端末の性能に影響される可能性がある

サーバーサイド

・サーバーに通信し、メモリに保存しているデータを画面に表示する
・変更データはページング後でも保存可能

・サーバーに通信し、メモリに保存しているデータを画面に表示する
・単一項目のソートが可能
・変更データはソート後でも保存可能

・クライアントサイド方式よりもViewStateエラーが発生しにくく、テーブル機能が活かされた検索処理が実行可能。

毎回クエリ実行

・サーバーに通信し、クエリ実行して最新データを取得して画面に表示する。そのため速度は一番遅い
・変更データはページング前に保存する必要がある

・サーバーに通信し、クエリ実行して最新データを取得して画面に表示する。そのため速度は一番遅い
・単一項目のソートが可能
・変更データはソート前に保存する必要がある

・毎回画面表示に必要なデータのみ検索クエリを実行するため、ViewStateエラーが非常に発生しにくい


プロパティ設定値やプロパティ表示/非表示については< (7)-b-1. データテーブル >を参照してください。