掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataGridで項目スキップ&入力チェックを行う方法 (ID:123457)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ご指摘ありがとうございました。 デバッグした結果、不明なのでご質問させて頂いたのですが… 記述したコード(抜粋)は以下の通りです。 Private Sub SyohinList_ColumnChanging(ByVal sender As Object, ByVal e As System.Data.DataColumnChangeEventArgs) Select Case e.Column.ColumnName Case "商品コード" If e.ProposedValue > 99 MessageBox.Show("不正なコードが入力されました。正しいコードを入力して下さい。") e.ProposedValue = 0 Throw New ApplicationException End If End Select ・・・ Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean Dim Cel As DataGridCell Cel = Me.CurrentCell() If keyData = Keys.Enter Then If Cel.ColumnNumber = 0 Then Me.CurrentCell = New DataGridCell(Cel.RowNumber, 2) Return True End If ・・・ で入力値エラーであっても、ProcessCmdKeyで記述している > Me.CurrentCell = New DataGridCell(Cel.RowNumber, 2) が有効になってしまいます。 ちなみに > Me.CurrentCell = New DataGridCell(Cel.RowNumber, 2) の部分が > SendKeys.Send("{Tab}") 'TAB ですと、エラーが解消されるまでセル移動されませんでした。 もちろんこれだととなりの商品名にフォーカス移動されてしまうため、 目的の動作になりません。 TAB×2回も考えましたが、視覚的にかなりおかしい状態でしたのでやめてしまいました。 大変申し訳ございませんが、ご教授の程よろしくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.