隣接する二つの列において、一方の LengthAsByte プロパティを True に設定すると、もう1つの列にもその設定が影響する。
対象製品
El Tabelle MultiRow 4.0J
発生環境
この現象は、次のファイルバージョンのアセンブリで発生します。
v4.0.2006.0915 および以前のアセンブリ
v4.0.2006.0915 および以前のアセンブリ
状況
修正済み
詳細
隣接する二つの列において、一方の LengthAsByte プロパティを True に設定すると、もう1つの列にもその設定が影響します。例えば、隣合う列で次のような設定を行ったとき、セルの編集確定時に、設定した入力可能な文字数の通りに表示されません。
[Visual Basic]
Dim objTemplate As New GrapeCity.Win.ElTabelle.Template
Dim objTextEditor1 As New GrapeCity.Win.ElTabelle.Editors.TextEditor
objTextEditor1.LengthAsByte = True
objTextEditor1.MaxLength = 2
objTextEditor1.Format = "9"
objTemplate.Cells(0, 0).Editor = objTextEditor1
Dim objTextEditor2 As New GrapeCity.Win.ElTabelle.Editors.TextEditor
objTextEditor2.LengthAsByte = False
objTextEditor2.MaxLength = 4
objTemplate.Cells(1, 0).Editor = objTextEditor2
MultiRowSheet1.Template = objTemplate
[C#]
GrapeCity.Win.ElTabelle.Template tmplate = new GrapeCity.Win.ElTabelle.Template();
GrapeCity.Win.ElTabelle.Editors.TextEditor objTextEditor1 = new GrapeCity.Win.ElTabelle.Editors.TextEditor();
objTextEditor1.LengthAsByte = true;
objTextEditor1.MaxLength = 2;
objTextEditor1.Format = "9";
objTemplate.Cells(0, 0).Editor = objTextEditor1;
GrapeCity.Win.ElTabelle.Editors.TextEditor objTextEditor2 = new GrapeCity.Win.ElTabelle.Editors.TextEditor();
objTextEditor2.LengthAsByte = False;
objTextEditor2.MaxLength = 4;
objTemplate.Cells(1, 0).Editor = objTextEditor2;
multiRowSheet1.Template = objTemplate;
この設定で、次のような操作を行います。
1.1列目に半角文字 "11" を2文字入力して、編集を確定します。
2.2列目に移動して "ああああ" と全角文字を4文字入力します。
3.編集を確定すると、"ああ" と2文字のみ表示されます。
4.同じセルを再度編集状態にした場合は "ああああ" と4文字に戻って表示されます。
[Visual Basic]
Dim objTemplate As New GrapeCity.Win.ElTabelle.Template
Dim objTextEditor1 As New GrapeCity.Win.ElTabelle.Editors.TextEditor
objTextEditor1.LengthAsByte = True
objTextEditor1.MaxLength = 2
objTextEditor1.Format = "9"
objTemplate.Cells(0, 0).Editor = objTextEditor1
Dim objTextEditor2 As New GrapeCity.Win.ElTabelle.Editors.TextEditor
objTextEditor2.LengthAsByte = False
objTextEditor2.MaxLength = 4
objTemplate.Cells(1, 0).Editor = objTextEditor2
MultiRowSheet1.Template = objTemplate
[C#]
GrapeCity.Win.ElTabelle.Template tmplate = new GrapeCity.Win.ElTabelle.Template();
GrapeCity.Win.ElTabelle.Editors.TextEditor objTextEditor1 = new GrapeCity.Win.ElTabelle.Editors.TextEditor();
objTextEditor1.LengthAsByte = true;
objTextEditor1.MaxLength = 2;
objTextEditor1.Format = "9";
objTemplate.Cells(0, 0).Editor = objTextEditor1;
GrapeCity.Win.ElTabelle.Editors.TextEditor objTextEditor2 = new GrapeCity.Win.ElTabelle.Editors.TextEditor();
objTextEditor2.LengthAsByte = False;
objTextEditor2.MaxLength = 4;
objTemplate.Cells(1, 0).Editor = objTextEditor2;
multiRowSheet1.Template = objTemplate;
この設定で、次のような操作を行います。
1.1列目に半角文字 "11" を2文字入力して、編集を確定します。
2.2列目に移動して "ああああ" と全角文字を4文字入力します。
3.編集を確定すると、"ああ" と2文字のみ表示されます。
4.同じセルを再度編集状態にした場合は "ああああ" と4文字に戻って表示されます。
回避方法
この現象は、ファイル バージョン v4.0.2006.1026 以降のアセンブリで修正されています。v4.0.2006.1026 は、HotFix で提供されます。
キーワード
ETMR05728
この文書は、以前は次のバグレポートIDで公開されていました : 6566