none
AYUDA CON DATAGRIDVIEW RRS feed

  • Pregunta

  • hola a toda la gent del foro..
    bueno tengo un problema..
    con un datagridview..
    bueno en el evento cellendedit
    tengo esto..
     If Dgv1.CurrentCell.ColumnIndex = 9 Then
                    SendKeys.Send("{UP}")
                    BtnRegistrar.Focus()
     End If
    bueno si funciona normal pero no como kiero..
    verann el evento cellendedit cuando presionas enter el pulsor se va abajo
    no se keda en el mismo lugar
    bueno como se va abajo..
    le puse un 

     SendKeys.Send("{UP}")
    pero no me funcionaa..
    sigue bajandose.. no subee..
    como ago para que cuando edite esa celda presione enter..
    se kede ahii el focus osea el cuadrito azul.
    k no se valla abajo
    una ayuda,..!!
    deRuNoMas
    miércoles, 30 de septiembre de 2009 16:33

Respuestas

  • Me extraña mucho que no te funcione

       SendKeys.Send("{UP}")

    Si quieres modificar el comportamiento del control DataGridView cuando se pulsa la tecla Enter, tienes que detectar qué tecla se ha pulsado y actuar en consecuencia. Por ejemplo, si deseas que al pulsar Enter el foco se quede en la misma celda, en el procedimiento «ProcessCmdKey» ejecutarías lo siguiente:


     

        Protected Overrides Function ProcessCmdKey( _
           ByRef msg As System.Windows.Forms.Message, _
           ByVal keyData As System.Windows.Forms.Keys) As Boolean
    
            ' Si el control DataGridView no tiene el foco, y 
            ' si la celda actual no está siendo editada, 
            ' abandonamos el procedimiento. 
            ' 
            If (Not Dgv1.Focused) AndAlso _
               (Not Dgv1.IsCurrentCellInEditMode) Then _
               Return MyBase.ProcessCmdKey(msg, keyData)
    
            ' Si la tecla presionada es distinta de la tecla Enter, 
            ' abandonamos el procedimiento. 
            ' 
            If keyData <> Keys.Return Then _
                Return MyBase.ProcessCmdKey(msg, keyData)
    
            SendKeys.Send("{UP}")
    
            Return False
    
        End Function
    


    Este procedimiento lo deberás de incluir en el formulario que contiene el control DataGridView que deseas controlar.


    Enrique Martínez [MS MVP - VB]
    miércoles, 30 de septiembre de 2009 17:07
    Moderador