作成日: 2013/08/07 最終更新日: 2013/08/07
文書種別
制限事項
詳細
InputManのNumberコントロールをカスタムエディタに設定しているセルで、下記手順のように編集を開始した際に、IMEで未確定の全角文字列が渡されてしまい、例外が発生します。
- 通常のセルで、IMEをOnにし、ひらがなで「あああ」を入力 ([Enter] キー で確定しない)
- Number コントロールを設定しているセルをマウスでクリック (編集モードにしない)
- [Enter] キーを押す
回避方法
■ImeModeプロパティをOffに設定する
カスタムエディタに設定されているセルで、編集モードに移行した際のイベント(StartEdit、SetupEditor、BeforeEditなど)で、ImeModeプロパティをOffに設定することで回避することができます。
◆サンプルコード(VB)
◆サンプルコード(C#)
■編集モードに移行させる
本現象は、カスタムエディタに設定されているセルが編集モードに移行している場合は発生しません。そのため、RowColChange イベントで該当セルを編集モードに移行させることでも回避可能です。
◆サンプルコード(VB)
◆サンプルコード(C#)
カスタムエディタに設定されているセルで、編集モードに移行した際のイベント(StartEdit、SetupEditor、BeforeEditなど)で、ImeModeプロパティをOffに設定することで回避することができます。
◆サンプルコード(VB)
Private Sub flex_StartEdit(・・・
' Numberコントロールが2列目のカスタムエディタ
' に設定されている場合
If e.Col = 2 Then
flex.ImeMode = Windows.Forms.IImeMode.Off
flex.ImeMode = Windows.Forms.IImeMode.NoControl
End If
End Sub
' Numberコントロールが2列目のカスタムエディタ
' に設定されている場合
If e.Col = 2 Then
flex.ImeMode = Windows.Forms.IImeMode.Off
flex.ImeMode = Windows.Forms.IImeMode.NoControl
End If
End Sub
◆サンプルコード(C#)
private void flex_StartEdit(・・・
{
// Numberコントロールが2列目のカスタムエディタ
// に設定されている場合
if (e.Col == 2)
{
flex.ImeMode = ImeMode.Off;
flex.ImeMode = ImeMode.NoControl;
}
}
{
// Numberコントロールが2列目のカスタムエディタ
// に設定されている場合
if (e.Col == 2)
{
flex.ImeMode = ImeMode.Off;
flex.ImeMode = ImeMode.NoControl;
}
}
■編集モードに移行させる
本現象は、カスタムエディタに設定されているセルが編集モードに移行している場合は発生しません。そのため、RowColChange イベントで該当セルを編集モードに移行させることでも回避可能です。
◆サンプルコード(VB)
Private Sub flex_RowColChange(・・・
' Numberコントロールが2列目のカスタムエディタ
' に設定されている場合
If flex.Col = 2 Then
flex.StartEditing()
End If
End Sub
' Numberコントロールが2列目のカスタムエディタ
' に設定されている場合
If flex.Col = 2 Then
flex.StartEditing()
End If
End Sub
◆サンプルコード(C#)
private void flex_RowColChange(・・・
{
// Numberコントロールが2列目のカスタムエディタ
// に設定されている場合
if (flex.Col == 2)
{
flex.StartEditing();
}
}
{
// Numberコントロールが2列目のカスタムエディタ
// に設定されている場合
if (flex.Col == 2)
{
flex.StartEditing();
}
}
旧文書番号
80350