none
Buscar registros desde la celda de la primera columna Datagridview de no existir ese código salir un mensaje y regresar limpiando a la misma celda , en caso de existir saltar 4 columna de la misma fila todo presionando enter.; y asi susesivamente. RRS feed

  • Pregunta

  • Buenos dias si alguien me puede ayudar le quedaría muy agradecida; hace tiempo que deje esto pero ahora quiero completar  lo que he dejado pendiente necesito consultar datos hacia una base de datos desde la celda de la primera columna  Datagridview  de no existir ese código salir un mensaje y regresar limpiando a la misma celda , en caso de existir saltar 4 columna de la misma fila todo presionando enter.

        Private Sub dataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dataGridView1.CellEndEdit
            Dim conexion As OleDb.OleDbConnection
            Dim comando As OleDb.OleDbDataAdapter
            Dim rw As Integer = Me.dataGridView1.CurrentRow.Index
            Dim clave As String = Me.dataGridView1.Rows(e.RowIndex).Cells(0).Value
            Dim clave1 As String = Me.dataGridView1.Rows(e.RowIndex).Cells(0).Value
            'If (clave <> "") Then

            conexion = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\SISTEMA ENLAZADO\SISTEMA ENLAZADO\REPORTES.accdb")
            comando = New OleDb.OleDbDataAdapter("SELECT id_cuenta,cod_cuenta, nom_cuenta From  C_Cuenta where id_cuenta = '" & clave & "'", conexion)
            Dim ds As DataSet = New DataSet()
            ds = New DataSet()
            comando.Fill(ds)
            Dim tabla As DataTable = ds.Tables(0)
            If ds.Tables(0).Rows.Count <> 0 Then

                If ds.Tables(0).Rows(0)(0).ToString <> Nothing And ds.Tables(0).Rows(0)(0).ToString <> "" Then

                    Me.dataGridView1.Rows(rw).Cells(1).Value = ds.Tables(0).Rows(0)(1) ' Cells(2) es donde aparece la descripción 
                    Me.dataGridView1.Rows(rw).Cells(2).Value = ds.Tables(0).Rows(0)(2)

    else

     '''' Aqui es donde me pierdo y no me sale por nada ""

    ''''

    ''''

    end if

    end if

    ''''También me copie este código moneando y revisando para presionar enter pero aun así me falta.

     Protected Overrides Function ProcessCmdKey( _
               ByRef msg As System.Windows.Forms.Message, _
               ByVal keyData As System.Windows.Forms.Keys) As Boolean

            ' Si la tecla presionada es distinta de la tecla Enter, 
            ' abandonamos el procedimiento. 
            ' 
            If keyData <> Keys.Return Then _
                Return MyBase.ProcessCmdKey(msg, keyData)

            ' Igualmente, si el control DataGridView no tiene el foco, 
            ' y si la celda actual no está siendo editada, 
            ' abandonamos el procedimiento. 
            ' 
            If (Not dataGridView1.Focused) AndAlso _
               (Not dataGridView1.IsCurrentCellInEditMode) Then _
               Return MyBase.ProcessCmdKey(msg, keyData)

            ' Obtenemos la celda actual 
            ' 
            Dim cell As DataGridViewCell = dataGridView1.CurrentCell

            ' Índice de la columna. 
            ' 
            Dim columnIndex As Int32 = cell.ColumnIndex

            ' Índice de la fila. 
            ' 
            Dim rowIndex As Int32 = cell.RowIndex

            If columnIndex = dataGridView1.Columns.Count - 1 Then

                If rowIndex = dataGridView1.Rows.Count - 1 Then
                    ' Seleccionamos la primera columna de la primera fila. 
                    ' 
                    cell = dataGridView1.Rows(0).Cells(0)
                Else
                    ' Selecionamos la primera columna de la siguiente fila. 
                    ' 
                    cell = dataGridView1.Rows(rowIndex + 1).Cells(0)
                End If

            Else
                If (columnIndex = 0) Then
                    ' Si se ha editado la primera columna, pasamos a la cuarta columna
                    cell = dataGridView1.Rows(rowIndex).Cells(columnIndex + 3)

                Else
                    ' Seleccionamos la celda de la derecha de la celda actual. 
                    '
                    cell = dataGridView1.Rows(rowIndex).Cells(columnIndex + 1)

                End If


            End If

            ' Establecemos la celda actual... 
            ' 
            dataGridView1.CurrentCell = cell

            ' ... y la ponemos en modo de edición. 
            ' 
            dataGridView1.BeginEdit(True)

            Return True

        End Function

    domingo, 19 de junio de 2016 15:42

Todas las respuestas

  • Buen dia necesito que alguien me ayude ya que no me sale esto Buscar registros desde la celda de la primera columna Datagridview de no existir ese código salir un mensaje y regresar limpiando a la misma celda , en caso de existir saltar 4 columna de la misma fila todo presionando enter.; y asi susesivamente

    sábado, 16 de julio de 2016 19:44