tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル ありがとうございます。
投稿日: 2012/05/02(Wed) 08:45
投稿者もと
入力チェックはDataGridView1でできており、エラー時はセルから遷移しないようにしています。
正常値のときに右へ移動でなく、2つ右へ移動したいのですが。
どのイベントに書いていいのかわからない状態です。
入力チェックはDataGridView1_CellValidatingイベントで記入しています。

    Private Sub DataGridView1_CellValidating(ByVal sender As Object, _
        ByVal e As DataGridViewCellValidatingEventArgs) _
        Handles DataGridView1.CellValidating

        Dim dgv As DataGridView = DirectCast(sender, DataGridView)

        Dim test As String

        '現在のセル位置を記憶しておく
    pvActive_Col = DataGridView1.CurrentCell.ColumnIndex
        PvActive_Row = DataGridView1.CurrentCell.RowIndex

        '新しい行のセルでなく、セルの内容が変更されている時だけ検証する
        If e.RowIndex = dgv.NewRowIndex OrElse Not dgv.IsCurrentCellDirty Then
            Exit Sub
        End If

        e.Cancel = False

        '入力チェック
        Select Case dgv.Columns(e.ColumnIndex).Name

            Case "SHCODE"
                  If e.FormattedValue.ToString() ="123" Then
                    MsgBox("入力した商品bヘエラーです。”)
                    '入力した値をキャンセルして元に戻すには、次のようにする
                    dgv.CancelEdit()
                    'キャンセルする
                    e.Cancel = True
                    Exit Sub
                 Else
          '正常値なら右隣のセルに名称を表示
                    e.Cancel = False
                   DataGridView1(pvActive_Col + 1, pvActive_Row).Value ="商品名"           '******ここで名称の右へ遷移したいのです。
                End If

        End Select

        Exit Sub

    End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。