MESCIUS SPREAD for ASP.NET 10.0J
シートモデルの概要

シートモデルの概要について説明します。

モデルの概念

SPREADシート(SheetView オブジェクト)は、セル、列、行などの各オブジェクトで構成されますが、このオブジェクトの基となるのが「モデル」です。つまり、シートのすべてのオブジェクトおよび設定に対して、その基の要素となる一式のシートモデルが存在し、すべてのシートは、それぞれ固有のモデルセットを保持します。複数のシートから成る SPREADコントロールの場合は、コントロール内の各シートがそれぞれのモデルセットを保持します。

シートのCellsColumnsRows プロパティなどのショートカットオブジェクトを介して、セル、列、行などのオブジェクトを設定すると、設定された内容はモデルに格納されます。また、通常はモデルを使用すると、プロパティを介して各オブジェクトを設定するより処理が高速になります。

たとえば、次のようにCellsプロパティを使用してCells クラスを参照し値を設定する場合を考えます。

FpSpread1.Sheets[0].Cells[0,0].Value = "Test";
FpSpread1.Sheets(0).Cells(0,0).Value = "Test"        

これを、データモデルのメソッドを使用すると、次のようになります。

FpSpread1.Sheets[0].DataModel.SetValue(FpSpread1.Sheets[0].GetModelRowFromViewRow[0], FpSpread1.Sheets[0].GetModelColumnFromViewColumn[0], "Test");
FpSpread1.Sheets(0).DataModel.SetValue(FpSpread1.Sheets(0).GetModelRowFromViewRow(0), FpSpread1.Sheets(0).GetModelColumnFromViewColumn(0), "Test")       

この場合の実行結果は同じものですが、内部での処理はモデル使用時の方が高速になるため、多くのデータを扱う場合はアプリケーション全体の処理が向上することもあります。また、モデルを使用しないと実現できない処理もあります。

なお、多くの処理は、モデルを使用しなくても実行でき、シート内のすべての要素がモデル内に存在するわけではありません。たとえば、シートタブ、シートの背景色、グリッド線などのコントロール全体に関する属性には、モデルには含まれないものもあります。しかし、特定のセルについての情報、たとえばセル内のデータおよびセルの外観についての情報は、モデルに含まれます。

シートのデータ領域は、固有のモデルセットを持つ1つのシートと考えられます。また、行ヘッダも固有のモデルが割り当てられた1つのシートに相当するグループと考えられます。列ヘッダも同様です。

モデルの種類とシートの関係

シートを構成する機能や属性により、モデルには5つのタイプがあり、シートは、この5つのモデルの複合体だと考えることができます。これらのモデルクラスをSheetView クラスの該当するプロパティに設定することで、シートにモデルの設定が適用されます。

5つのモデルタイプは、以下のとおりです。各モデルを参照するプロパティや詳細な機能については、それぞれの解説ページを参照してください。

モデルの構造

各モデルは、次の3つの要素により構成されます。

各モデルタイプの基本クラス、デフォルトクラス、インタフェースについては、「シートモデルのタイプ」以下の各ページを参照してください。

カスタムモデルやオプションのインタフェースの詳細については、以下のページで解説しています。

関連トピック

 

 


© MESCIUS inc. All rights reserved.