MESCIUS SPREAD for ASP.NET 10.0J
ビューステートに保存

ビューステートは、クライアントベースの状態管理機能を実現します。データはページ内の隠しフィールドに書き込まれます。

デフォルトのコントロール設定では、セッションを使用してデータを保存します。 小さなデータ モデルであれば、ビューステートが最適です。 大きなデータセットを使用する場合には、これ以外の状態管理手段を推奨します。

利点と欠点

ビューステートを使用する利点は次のとおりです。

ビューステートを使用する欠点は、パフォーマンスに影響が出ることです。 ビューステートはページ自体に保存されるため、大量のデータが保存されると、ユーザーが表示または送信しようとする場合にページの送信速度が遅くなる可能性があります。

設定方法

データをビューステートに保存するには、SheetView クラスIsTrackingViewState プロパティをtrueに設定します。既定値はtrueです。また、FpSpread クラスSaveViewStateToSession プロパティをfalseに設定します。

サンプルコード

次のサンプルコードは、ビューステートを使用してデータを保存する方法を示します。

protected void Page_Load(object sender, System.EventArgs e)
{
    if (IsPostBack) return;
    // OLE DBによってNWIND MS Accessサンプルに接続します。
    OleDbConnection thisConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\\NWIND.MDB");
    // 接続を開きます。
    thisConnection.Open();
    // 関連するデータテーブル、行、列を保持するDataSetを作成します。
    DataSet thisDataSet = new DataSet();
    OleDbDataAdapter orderAdapter = new OleDbDataAdapter("SELECT EmployeeID, LastName, FirstName, Title FROM Employees", thisConnection);
    orderAdapter.Fill(thisDataSet, "Employees");

    FpSpread1.ActiveSheetView.DataSource = thisDataSet;
    FpSpread1.ActiveSheetView.DataMember = "Employees";
    thisConnection.Close();
    thisConnection.Dispose();

    // データをビューステートに保存します。
    FpSpread1.ActiveSheetView.IsTrackingViewState = true;
    FpSpread1.SaveViewStateToSession = false;
}
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If (Me.IsPostBack) Then Return
    
    ' OLE DBによってNWIND MS Accessサンプルに接続します。
    Dim thisConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\NWIND.MDB")
    ' 接続を開きます。
    thisConnection.Open()
    ' 関連するデータテーブル、行、列を保持するDataSetを作成します。
    Dim thisDataSet As New DataSet()
    Dim orderAdapter As New OleDbDataAdapter("SELECT EmployeeID, LastName, FirstName, Title FROM Employees", thisConnection)
    orderAdapter.Fill(thisDataSet, "Employees")
    
    FpSpread1.ActiveSheetView.DataSource = thisDataSet
    FpSpread1.ActiveSheetView.DataMember = "Employees"
    thisConnection.Close()
    thisConnection.Dispose()
        
    ' データをビューステートに保存します。
    FpSpread1.ActiveSheetView.IsTrackingViewState = True
    FpSpread1.SaveViewStateToSession= False
End Sub        

関連トピック

 

 


© MESCIUS inc. All rights reserved.