SPREAD for Windows Forms 12.0J 移行ガイド > 互換機能について |
12.0Jには旧バージョンとの互換性の維持を目的とした、互換機能(以下、LegacyBehaviors列挙体)が用意されています。 LegacyBehaviors列挙体は、メンバとして定義されている値の組み合わせを設定することが可能で、該当する機能の動作を11.0J以前と同等にすることが可能です。また、Visual Studio上で新規にコントロールを配置した場合と、旧バージョンのプロジェクトを移行した場合で異なる動作となります。なお、これ以外にも動作が変わる変更点が存在しているため、手動による修正が必要になる場合があります。
メンバ | 説明 |
---|---|
All | すべてのメンバが指定された状態になり互換性を最大限維持した動作になります。 |
AutoRowHeight | セルの値またはプロパティがSpreadのUIで変更されたとき、行の高さは自動調整されません。 |
CalculationEngine | 以前の表計算エンジンが使用されます。 本メンバを未指定の場合の動作は「新しい表計算エンジン」をご確認ください。 |
None | すべてのメンバが未指定の状態になり新しい動作が有効になります。 |
PropertyDefaults | 一部のプロパティの(変更された)初期値が、前のバージョンと同じになります。 |
Protect | SheetView.ProtectプロパティがTrue、セルのロック状態を示すStyleInfo.LockedがFalseになります。 |
Style | 以前のスタイルシステムが使用されます。 本メンバを未指定の場合の動作は「新しいスタイルシステム 」をご確認ください。 |
デザインファイル(*.Designer.cs または *.Designer.vb)のFpSpreadコンストラクタの引数としてLegacyBehaviors.Noneが指定されます。この場合、すべてのメンバが未指定の状態になり新しい動作が有効になります。
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread(FarPoint.Win.Spread.LegacyBehaviors.None);
旧バージョンのFarPoint.Win.Spread.FpSpreadクラスには、引数の設定が可能なコンストラクタは存在しません。つまり旧バージョンで作成したプロジェクトに含まれるFarPoint.Win.Spread.FpSpreadコンストラクタは次のような引数がない状態になります。
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
12.0Jでは引数を持たないFarPoint.Win.Spread.FpSpreadコンストラクタは、内部的にLegacyBehaviors.Allが指定された状態と解釈されます。そのため旧バージョンのプロジェクトを移行した際には、すべてのメンバが指定された状態になり互換性を最大限維持した動作になります。
|
互換機能の設定を変更する場合には、Visual Studioのデザイン画面を開き、SPREADコントロールのプロパティグリッドを表示してください。LegacyBehaviorsプロパティの項目にあるドロップダウンから値を変更することが可能です。
SPREADでは、シートのProtectプロパティとセルのLockedプロパティを使用することでセルをロックすることが可能ですが、 LegacyBehaviors.Protectメンバによりセルのロック動作を変更することが可能です。
プロパティ名 | LegacyBehaviors.Protectを含まない場合 | LegacyBehaviors.Protectを含む場合 |
---|---|---|
SheetView.Protect | False | True |
StyleInfo.Locked | True | False |
シートのProtectプロパティとセルのLockedプロパティの既定値(デフォルト値)が11.0Jと10.0J以前で異なりますが、 10.0J以前から移行を行う場合には、LegacyBehaviors.Protectを含んだLegacyBehaviors.Allの状態になりますのでロックの状態は維持されます。
プロパティ名 | 11.0Jの既定値 | 10.0J以前の既定値 |
---|---|---|
SheetView.Protect | False | True |
StyleInfo.Locked | True | False |
なお、11.0Jから移行を行いロックの既定値(デフォルト値)を使用している場合には、プロジェクトの移行後に手動でLegacyBehaviors.Protectを外す対応が必要になります。
ナレッジベースにも旧バージョンからの移行の際のロックに関する注意点を記載しています。