セルキーでセルを移動したとき、例外が発生する場合がある
対象製品
El Tabelle MultiRow 4.0J
発生環境
この現象は、次のファイルバージョンのアセンブリで発生します。
v3.2.2006.0811 および以前のアセンブリ
v3.2.2006.0811 および以前のアセンブリ
状況
修正済み
詳細
次の条件がそろったとき、MultiRowSheet.ActiveCellKey プロパティによるセルの移動で例外 ArgumentOutOfRangeException が発生します。
・常時入力モードを使用している (MultiRowSheet.EditType = AlwaysEdit)
・セルにセルキーを設定している
・すべてのセルの Enabled プロパティを false に設定した後、Button などの操作で true に戻す
・常時入力モードを使用している (MultiRowSheet.EditType = AlwaysEdit)
・セルにセルキーを設定している
・すべてのセルの Enabled プロパティを false に設定した後、Button などの操作で true に戻す
回避方法
この現象は、ファイル バージョン v4.0.2006.0915 以降のアセンブリで修正されています。v4.0.2006.0915 は、HotFix で提供されます。
または、次のいずれかの方法で回避できます。
・セルの Enabled プロパティではなくシートの Enabled プロパティを使う
・セルの移動に、セルキーではなくセル位置(ActivePosition)を使用する
・常時入力モードを使用しない
以下のコードで代替処理を利用できます。
[Visual Basic]
Private Sub MultiRowSheet1_EnteredCell(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles List1.EnteredCell
MultiRowSheet1.KeyAction(GrapeCity.Win.ElTabelle.MKeyAction.EnterEdit)
End Sub
[C#]
private void multiRowSheet1_EnteredCell(object sender, System.EventArgs e)
{
multiRowSheet1.KeyAction(GrapeCity.Win.ElTabelle.MKeyAction.EnterEdit);
}
または、次のいずれかの方法で回避できます。
・セルの Enabled プロパティではなくシートの Enabled プロパティを使う
・セルの移動に、セルキーではなくセル位置(ActivePosition)を使用する
・常時入力モードを使用しない
以下のコードで代替処理を利用できます。
[Visual Basic]
Private Sub MultiRowSheet1_EnteredCell(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles List1.EnteredCell
MultiRowSheet1.KeyAction(GrapeCity.Win.ElTabelle.MKeyAction.EnterEdit)
End Sub
[C#]
private void multiRowSheet1_EnteredCell(object sender, System.EventArgs e)
{
multiRowSheet1.KeyAction(GrapeCity.Win.ElTabelle.MKeyAction.EnterEdit);
}
キーワード
ETMR05680
この文書は、以前は次のバグレポートIDで公開されていました : 6381