コンボボックス型セルを使用し CellNotify イベントで Sheet.EditState プロパティを false に設定すると StackOverflowException が発生する

文書番号 : 22602     文書種別 : 不具合     最終更新日 : 2006/09/22
文書を印刷する
対象製品
El Tabelle Sheet 4.0J
状況
修正済み
詳細
コンボボックス型セルを使用し CellNotify の Drop Close イベントで、Sheet.EditState プロパティをfalse に設定すると StackOverflowException が発生します。
例えば、次に示すコーディングを実施し、「ドロップダウンリストを選択したときに編集を確定する」 ことを実現したい場合に、本現象が発生します。

 [Visual Basic]
 Select Case e.Name
   Case DropClose
        Sheet1.EditState = False
 End Select
 
 [C#]
  switch(e.Name.ToString())
  {
   case "DropClose":
   sheet1.EditState = false;
   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
    Sheet1.KeyAction(KeyAction.EndEdit)
  End Select
    
[C#]
  switch (e.Name.ToString())
  {
    case "SelectedIndexChanged":
    sheet1.KeyAction(KeyAction.EndEdit);
    break;
  }
キーワード
ETSH05646

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