[]
Axisモデルは、シートの行、および列の配置に関する設定を保持します。Axisモデルを形成するクラスは以下のとおりです。
パート | 型 |
|---|---|
基本クラス | |
デフォルトクラス | |
インタフェース | ISheetAxisModelインタフェース |
シートのAxisモデルを参照するには、SheetViewクラスのModelsプロパティでSheetView.DocumentModelsオブジェクトを参照し、RowAxis、またはColumnAxisプロパティを使用します。
Axisモデルは、次のオブジェクトの設定内容を保持します。
1行おきの行(AlternatingRow、およびAlternatingRows)
Axisモデルが管理する主な設定内容は次のとおりです。
行の高さ
列幅
行、および列の非表示
行の高さや列幅を設定するにはSetSizeメソッド、行や列の表示/非表示を定義するにはSetVisibleメソッドを使用します。このほかにも、同じ内容のセルを自動的にマージするかどうかを設定するSetMergePolicyメソッドなど、Axisモデルは、行や列のプロパティを設定するためのメソッドを提供します。
Axisモデルを使用してパフォーマンスを高める例として、大量の行が含まれるシートについて考えます。データに基づいて行の高さを調整する場合に、独自のAxisモデルを作成し、SheetViewクラスのModelsプロパティで参照するSheetView.DocumentModelsオブジェクトのRowAxisプロパティに設定します。
独自のAxisモデルを作成するには、DefaultSheetAxisModelクラスを継承するクラスを作成します。コンストラクタでSheetViewオブジェクトへの参照を受け取り、これをフィールドに格納するようにします。次に、行インデックスに対してGetPreferredRowHeightメソッドを呼び出すようGetSizeメソッドをオーバーライドします。また、GetResizableメソッドをオーバーライドして、ユーザーが行の高さを手動で変更できないようにすることもできます。GetSizeメソッドで常に、最適な高さを設定し、ユーザーが変更できないようにするためです。
次のサンプルコードは、独自のAxisモデルを作成し、各行の幅をデフォルト値の3倍に設定します。
public class MyRowAxisModel : FarPoint.Web.Spread.Model.DefaultSheetAxisModel
{
public overrides int GetSize(int index)
{
if ( index % 2 == 1 )
return 60;
else
return 20;
}
}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