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 |