コンボボックス型セルを使用し CellNotify イベントで KeyActionにEndEditプロパティを設定すると 例外が発生する

文書番号 : 22617     文書種別 : 不具合     最終更新日 : 2006/09/23
文書を印刷する
対象製品
El Tabelle MultiRow 4.0J
発生環境
この現象は、次のファイルバージョンのアセンブリで発生します。
v4.0.2006.0811 および以前のアセンブリ
状況
修正済み
詳細
コンボボックス型セルを使用し CellNotify の Drop Close イベントで KeyActionにEditStateを設定すると StackOverflowException が発生します。
例えば、次に示すコーディングを実施し、「ドロップダウンリストを選択したときに編集を確定する」 ことを実現したい場合に、本現象が発生します。

[Visual Basic]
Select Case e.Name
  Case DropClose
  MultiRowSheet1.KeyAction(MKeyAction.EndEdit)
End Select
 
[C#]
switch(e.Name.ToString())
{
  case "DropClose":
  multiRowSheet1.KeyAction(MKeyAction.EndEdit);
  break;
 }
回避方法
StackOverflowExceptionの発生は、ファイル バージョン v4.0.2006.0915 以降のアセンブリで修正されています。v4.0.2006.0915 は、HotFix で提供されます。
但し、ファイル バージョン v4.0.2006.0915 以降のアセンブリで、本現象が発生する目的の処理は実現できません。 例外発生のみ抑止しております。 本現象が発生する目的の処理を実現させたい場合は、次のどちらかの回避策を適用してください。

1. 拡張コンボボックス型セルを使用する。
 
2. "SelectedIndexChanged"イベントでKeyActionをEndEditに変更する。

[Visual Basic]
Select Case e.Name
  Case SelectedIndexChanged
  MultiRowSheet1.KeyAction(MKeyAction.EndEdit)
End Select
 
[C#]
switch(e.Name.ToString())
{
  case "SelectedIndexChanged":
  multiRowSheet1.KeyAction(MKeyAction.EndEdit);
  break;
 }
 
キーワード
ETMR05646

この文書は、以前は次のバグレポートIDで公開されていました : 6416