MESCIUS SPREAD for Windows Forms 17.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() |