PowerTools SPREAD for Windows Forms 10.0J
セル範囲との連結

コントロールのセル範囲を、データソースに連結できます。これには、SpreadDataBindingAdpaterクラスを使用して、コントロールとデータソース間の接続を作成します。さらに、MapperInfoクラスを使用して、SPREADのセル範囲をデータソース内のデータ範囲にマッピングします。

データ連結相関図

コントロールのセル範囲と連結したデータソースに対して、列を追加または削除しても、コントロールは自動的に更新されません。

データソースとセル範囲は、コントロールではMapperInfoクラスによって管理されます。両者は、行の同期によって互いに同期されます。セル範囲に対していずれかの行を追加または削除すると、データソースにもその変更が反映されます(逆も同様)。既存の連結セル範囲のすぐ下に1行追加すると、セル範囲は1行分拡大し、これを反映したMapperInfoクラスとデータソースも拡大されます(逆も同様)。連結領域外に新たに行を追加した場合は、この行は連結範囲に追加されません。

デフォルトでは、コントロールは、外部データソースのデータ型とSPREADのセル型の対応を試みます。この動作を無効にするには、SheetViewクラスのDataAutoCellTypesプロパティをFalseに設定します。 次の表は、データ型とセル型の対応を示します。

データ型 セル型
ブール値 チェックボックス型セル
日付時刻型 日付時刻型セル
Double、Single、Decimal 数値型セル
Int16、Int32など 数値型セル
文字列 テキスト型セル
その他 標準型セル

設定方法

SpreadDataBindingAdapterクラスのインスタンスを作成し、DataSourceプロパティにデータソースを、Spreadプロパティにコントロールを設定します。MapperInfoプロパティに、連結の対象となるセル範囲を表すMapperInfoクラスのインスタンスを作成し、設定します。SpreadDataBindingAdapterクラスのFillSpreadDataByDataSourceメソッドを実行して、セル範囲にデータを読み込みます。

サンプルコード

次のサンプルコードは、セル範囲をデータソースに連結します。

C#
コードのコピー
// アダプタを作成します。
FarPoint.Win.Spread.Data.SpreadDataBindingAdapter data = new FarPoint.Win.Spread.Data.SpreadDataBindingAdapter();
data.DataSource = dt;
data.Spread = fpSpread1;
data.SheetName = "Sheet1";
data.MapperInfo = new FarPoint.Win.Spread.Data.MapperInfo(3, 2, 1, 1);
data.FillSpreadDataByDataSource();
Visual Basic
コードのコピー
' アダプタを作成します。
Dim data As New FarPoint.Win.Spread.Data.SpreadDataBindingAdapter
data.DataSource = dt
data.Spread = FpSpread1
data.SheetName = "Sheet1"
data.MapperInfo = New FarPoint.Win.Spread.Data.MapperInfo(3, 2, 1, 1)
data.FillSpreadDataByDataSource()
関連トピック

 

 


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