ロードオンデマンドとは、ページ表示時にリストビューのすべてのレコードを読み込むのではなく、リストビューのスクロール時に設定したレコード数分の続きのレコードを読み込む機能です。そのため、本機能を使用するには、スクロールバーの表示が必須となります。初期表示時にリストビュー領域の高さに対してレコード数が少なくスクロールバーが表示されない場合、本機能は使用できません。
既定では[ロードオンデマンド]が無効に設定されており、ページロード時の取得レコード数]は制限なしに設定されています。そのため、ページの初期表示時に全レコードが読み込まれリストビュー上に表示されるのが既定の動作です。
初期設定では、無効になっています。
[ページロード時の取得レコード数]で定義してある件数しか読み込みません。既定では 「制限なし」になっているため全レコードが読み込まれます。このため、レコード数が多い場合ページの初期表示が遅く感じることがあります。
たとえば、テーブルに 1000 レコードあって、[ページロード時の取得レコード数]を50と設定したとします。リストビューには50レコードが読み込まれ、リストビューのスクロールバーは 50 レコードまでしかスクロールされません。読み込む件数が少ない分、ページの初期表示は速くなります。なお、リストビューに表示されているデータを、リストビュー上でユーザーが変更することはできますが、表示されていないデータをユーザーが変更することはできないので注意してください。
「ページロード時の取得レコード数」に指定されたレコード数だけ最初に読み込み、ユーザーがリストビューをスクロールした時に必要に応じて次のレコード(「追加の読み込みレコード数」に指定されたレコード数)を読み込みます。レコード数が多くネットワークの帯域が限られているような場合でも、ページの初期表示をすばやくできます。しかしながら、ユーザーの操作に応じてデータを読み込むため、スクロールの際に遅く感じることがあります。
たとえば、テーブルに 1000 レコードあって、[ページロード時の取得レコード数]を50、そして[読み込み行数]を20と設定したとします。ページがロードされると最初にブラウザに読み込まれるレコード数は50レコードのみです。ユーザーがスクロールした時、つまり51レコード目を表示する必要があった場合に自動的に[読み込み行数]で指定した20レコード件数を読み込みます。このため、最終的にスクロールできるレコード件数は、実際のテーブルに存在する 1000 レコードのすべてをスクロールして表示できます。