作成日: 2017/02/24 最終更新日: 2017/02/24
文書種別
不具合
状況
修正済み
詳細
EditMaskを設定した列で、不正な入力を行っても、カーソルで次のセルに移動できてしまいます。
(例)
・「c1FlexGrid1.Cols[1].EditMask = "0000/00/00";」を設定します。
・このセルに何も入力せず(「____/__/__」と表示されている状態)で右カーソルを押下します。
【結果】次のセルに移動できてしまいます(不正)。
【望まれる動作】検証結果が「不正」となるため、本来なら移動できないのが正しい動作です。
※この動作は、ビルド 4.0.20152.74(ComponentOne Studio for Windows Forms 2015Jv2)で確認されました。
(例)
・「c1FlexGrid1.Cols[1].EditMask = "0000/00/00";」を設定します。
・このセルに何も入力せず(「____/__/__」と表示されている状態)で右カーソルを押下します。
【結果】次のセルに移動できてしまいます(不正)。
【望まれる動作】検証結果が「不正」となるため、本来なら移動できないのが正しい動作です。
※この動作は、ビルド 4.0.20152.74(ComponentOne Studio for Windows Forms 2015Jv2)で確認されました。
回避方法
この問題はバージョン2.0.20153.110または4.0.20153.110で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。
※修正版を適用しない場合の回避方法は以下の通りです。
不正な値が入力された場合、ValidateEditイベントでCancelプロパティをTrueに設定します。
◎サンプルコード(VB)
◎サンプルコード(C#)
修正版の適用方法については、アップデートの方法を参照してください。
※修正版を適用しない場合の回避方法は以下の通りです。
不正な値が入力された場合、ValidateEditイベントでCancelプロパティをTrueに設定します。
◎サンプルコード(VB)
Private Sub _c1FlexGrid1_ValidateEdit(sender As Object, e As ValidateEditEventArgs)
If e.Col = 1 Then
If _c1FlexGrid1.Editor.Text = "____/__/__" Then
e.Cancel = True
End If
End If
End Sub
If e.Col = 1 Then
If _c1FlexGrid1.Editor.Text = "____/__/__" Then
e.Cancel = True
End If
End If
End Sub
◎サンプルコード(C#)
private void _c1FlexGrid1_ValidateEdit(object sender, ValidateEditEventArgs e)
{
if (e.Col == 1)
{
if (_c1FlexGrid1.Editor.Text =="____/__/__")
{
e.Cancel = true;
}
}
}
{
if (e.Col == 1)
{
if (_c1FlexGrid1.Editor.Text =="____/__/__")
{
e.Cancel = true;
}
}
}
旧文書番号
81996