PowerTools SPREAD for Windows Forms 10.0J
Axis モデル

Axisモデルは、シートの行、および列の配置に関する設定を保持します。Axisモデルを形成するクラスは以下のとおりです。

基本クラス BaseSheetAxisModelクラス
デフォルトクラス DefaultSheetAxisModelクラス
インタフェース ISheetAxisModelインタフェース

シートのAxisモデルを参照するには、SheetViewクラスのModelsプロパティでSheetView.DocumentModelsオブジェクトを参照し、RowAxis、またはColumnAxisプロパティを使用します。

Axisモデルは、次のオブジェクトの設定内容を保持します。

Axisモデルが管理する主な設定内容は次のとおりです。

行の高さや列幅を設定するにはSetSizeメソッド、行や列の表示/非表示を定義するにはSetVisibleメソッドを使用します。このほかにも、同じ内容のセルを自動的にマージするかどうかを設定するSetMergePolicyメソッドなど、Axisモデルは、行や列のプロパティを設定するためのメソッドを提供します。

Axisモデルを使用してパフォーマンスを高める例として、大量の行が含まれるシートについて考えます。データに基づいて行の高さを調整する場合に、独自のAxisモデルを作成し、SheetViewクラスのModelsプロパティで参照するSheetView.DocumentModelsオブジェクトのRowAxisプロパティに設定します。

独自のAxisモデルを作成するには、DefaultSheetAxisModelクラスを継承するクラスを作成します。コンストラクタでSheetViewオブジェクトへの参照を受け取り、これをフィールドに格納するようにします。次に、行インデックスに対してGetPreferredRowHeightメソッドを呼び出すようGetSizeメソッドをオーバーライドします。また、GetResizableメソッドをオーバーライドして、ユーザーが行の高さを手動で変更できないようにすることもできます。GetSizeメソッドで常に、最適な高さを設定し、ユーザーが変更できないようにするためです。

サンプルコード

次のサンプルコードは、独自のAxisモデルを作成し、各行の幅をデフォルト値の3倍に設定します。

C#
コードのコピー
public class MyRowAxisModel : FarPoint.Web.Spread.Model.DefaultSheetAxisModel
{
    public overrides int GetSize(int index)
    {
        if ( index % 2 == 1 )
            return 60;
        else
            return 20;
    }
}
Visual Basic
コードのコピー
Public Class MyRowAxisModel
    Inherits FarPoint.Web.Spread.Model.DefaultSheetAxisModel
    Public Overrides Function GetSize(index As Integer) As Integer
        If index \ 2 = 1 Then
            Return 60
        Else
            Return 20
        End If
    End Function
End Class
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.