PowerTools SPREAD for ASP.NET 8.0J
ロードオンデマンド

SPREADに設定されたデータをオンデマンドでロードできます。大量のデータを一度に読み込むのではなく、指定の行数分のセットを段階的に読み込みます。これにより、アプリケーションのパフォーマンス向上が期待できます。ユーザーのスクロール操作または時間経過といったタイミングで、クライアント側で必要に応じて次のページまたは行セットをロードします。

ロードオンデマンドには、以下の2種類のロード方法があります。

階層表示では、ロードオンデマンド機能は無効になります。

設定方法

ロードオンデマンド機能を許可するには、SheetView クラスAllowLoadOnDemand プロパティをtrueに設定します。また、初期ロード時に読み込む行数およびロードオンデマンド時の増分(行セットに含まれる行数)はそれぞれ、LoadInitRowCount プロパティLoadRowIncrement プロパティで設定します。

また、ロードオンデマンド機能を標準モードで使用するには、LoadOnDemandMode プロパティLoadOnDemandMode.Standardに、バックグラウンドモードで設定するには、LoadOnDemandMode.Background設定します。

バックグランドモードのときの、ロード方法はLoadOnDemandTriggerMode プロパティで設定します。任意の行が表示された最にロードするには、LoadOnDemandTriggerMode.OffsetBasedに、指定の時間間隔でロードするにはLoadOnDemandTriggerMode.Timedにします。時間間隔は、LoadOnDemandInterval プロパティにミリ秒単位で指定します。

クライアント側スクリプト

ロードオンデマンド機能が開始すると、 LoadRowsStart イベントが発生します。また、行のロードが終了すると、LoadRowsStopped イベントが発生します。

サンプルコード

次のサンプルコードは、時間間隔で行セットをロードする機能を設定します。

FpSpread1.ActiveSheetView.RowCount = 100;
FpSpread1.ActiveSheetView.AllowLoadOnDemand = true;
FpSpread1.ActiveSheetView.AllowPage = false;
FpSpread1.ActiveSheetView.LoadInitRowCount = 5;
FpSpread1.ActiveSheetView.LoadRowIncrement = 10;
FpSpread1.ActiveSheetView.LoadOnDemandMode = FarPoint.Web.Spread.LoadOnDemandMode.Background;
FpSpread1.ActiveSheetView.LoadOnDemandTriggerMode = FarPoint.Web.Spread.LoadOnDemandTriggerMode.Timed;
FpSpread1.ActiveSheetView.LoadOnDemandInterval = 1000;

for (int i = 1; i < 100; i++)
{
    FpSpread1.ActiveSheetView.Cells[i, 0].Value = i;
}
FpSpread1.ActiveSheetView.RowCount = 100
FpSpread1.ActiveSheetView.AllowLoadOnDemand = True
FpSpread1.ActiveSheetView.AllowPage = False
FpSpread1.ActiveSheetView.LoadInitRowCount = 5
FpSpread1.ActiveSheetView.LoadRowIncrement = 10
FpSpread1.ActiveSheetView.LoadOnDemandMode = FarPoint.Web.Spread.LoadOnDemandMode.Background
FpSpread1.ActiveSheetView.LoadOnDemandTriggerMode = FarPoint.Web.Spread.LoadOnDemandTriggerMode.Timed
FpSpread1.ActiveSheetView.LoadOnDemandInterval = 1000

For i As Integer = 1 To 100
    FpSpread1.ActiveSheetView.Cells(i, 0).Value = i
Next

関連トピック

 

 


© 2003-2015, GrapeCity inc. All rights reserved.