不正なマージを行った場合にタブオーダーの初期化が必要な旨のエラーが発生する
対象製品
El Tabelle for .NET 3.0J
発生環境
この現象は 次のファイルバージョンのアセンブリで発生します。
v3.1.2005.0829 (HotFix)
v3.1.2005.0908 (HotFix)
v3.1.2005.1014 (HotFix)
v3.1.2005.0829 (HotFix)
v3.1.2005.0908 (HotFix)
v3.1.2005.1014 (HotFix)
状況
修正済み
詳細
MultiRowSheet コントロールのテンプレートの設計で、不正なマージの設定をコードにより行っていると、プロジェクト実行時に「このファイルのタブオーダーが正しくありません。Template デザイナを使用してタブオーダーを初期化してください。」のエラーメッセージが表示されます。
不正なマージは、次のようなケースです。
[Visual Basic]
Dim objTemplate As GrapeCity.Win.ElTabelle.Template = _
New GrapeCity.Win.ElTabelle.Template
objTemplate.Cells.Merge(New GrapeCity.Win.ElTabelle.TRange(0, 0, 1, 0))
objTemplate.Cells.Merge(New GrapeCity.Win.ElTabelle.TRange(1, 0, 1, 1))
Dim objMemoryStream As New System.IO.MemoryStream
GrapeCity.Win.ElTabelle.TemplateFileProcessor.Save(objMemoryStream, objTemplate)
MultiRowSheet1.LoadTemplate(objMemoryStream)
また、このとき、エラー内容通りに TCells.ResetTabOrder メソッドを実行した場合は
別の例外が発生します。
・WorkBook/Sheet コントロールでは上記のようなマージで例外は発生せず、先に指定したマージのみが適用されます。
不正なマージは、次のようなケースです。
[Visual Basic]
Dim objTemplate As GrapeCity.Win.ElTabelle.Template = _
New GrapeCity.Win.ElTabelle.Template
objTemplate.Cells.Merge(New GrapeCity.Win.ElTabelle.TRange(0, 0, 1, 0))
objTemplate.Cells.Merge(New GrapeCity.Win.ElTabelle.TRange(1, 0, 1, 1))
Dim objMemoryStream As New System.IO.MemoryStream
GrapeCity.Win.ElTabelle.TemplateFileProcessor.Save(objMemoryStream, objTemplate)
MultiRowSheet1.LoadTemplate(objMemoryStream)
また、このとき、エラー内容通りに TCells.ResetTabOrder メソッドを実行した場合は
別の例外が発生します。
・WorkBook/Sheet コントロールでは上記のようなマージで例外は発生せず、先に指定したマージのみが適用されます。
回避方法
この現象はファイル バージョン v3.1.2005.1130 以降のアセンブリで修正されています。
修正版は こちら からダウンロードできます。
問題が修正されたアセンブリに移行する以外、この問題を回避する方法はありません。
修正版は こちら からダウンロードできます。
問題が修正されたアセンブリに移行する以外、この問題を回避する方法はありません。
キーワード
ELTB05187
この文書は、以前は次のバグレポートIDで公開されていました : 5704