none
AYUDA CON DATAGRIDVIEW RRS feed

  • Pregunta

  • hola!

    tengo un problema con el control del datagridview

    yo uso el datagridview para insertar articulos un ejemplo

    tengo 2 culmnas

    codigo | descripcion

    mi problema es este..

    cuando me ubico en la fila de codigo y en la celda digito las iniciales de un articulo

    me sale otro formulario para seleccionar el articulo que comienze con ese codigo

    pero cuando ago eso..

    me doy cuenta que el focus del datagridview se baja una celda

    cuando debe mantenerse en el mismo lugar.

    nose como hacer para que se mantenga ahi mismo..

    ya use el SendKeys.Send("{UP}")

    y no lo acepta..

    una ayuda!!

     


    deRuNoMas
    miércoles, 22 de diciembre de 2010 14:29

Respuestas

  • Prueba este fragmento de código adaptandolo a tus necesidades:

    If DataGridView1.CurrentCell.IsInEditMode Then
          If keyData = Keys.Enter Then
            Dim f As New Form2
            f.ShowDialog()
            DataGridView1.EndEdit()
            Return True
          End If
        End If
    


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    jueves, 23 de diciembre de 2010 7:04
    Moderador

Todas las respuestas

  • Que tecla estas presionando despues que digitas las iniciales del articulo???
    miércoles, 22 de diciembre de 2010 14:41
  • hola

    el tema es que al abrir el formulario estas terminado la edicion de la celda de la grilla

    por eso esta cambia de modo y pasa el foco a la otra celda, este es el comportamiento normal del datagridview, lo cual es logico que suceda

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 22 de diciembre de 2010 14:47
  • Hola deRuNoMas,

     

    Si sobreescribes la funcion ProcessCmdKey, podrias controlas si el control que tiene el foco es el dataGridView, si la celda está en edición y si la tecla pulsada es la que tu deseas, que segun parece será el enter, Si se dan todas las condiciones muestras el formulario, en otro caso harias el funcionamiento normal.


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    miércoles, 22 de diciembre de 2010 14:58
    Moderador
  • bueno es la primera vez que escucho la funcion ProcessCmdKey

    como la usaria en un datagridview?


    deRuNoMas
    miércoles, 22 de diciembre de 2010 16:22
  • pero como solucionaria eso..

    para que el focus no se baje..


    deRuNoMas
    miércoles, 22 de diciembre de 2010 16:24
  • la tecla enter.

     


    deRuNoMas
    miércoles, 22 de diciembre de 2010 16:24
  • Prueba este fragmento de código adaptandolo a tus necesidades:

    If DataGridView1.CurrentCell.IsInEditMode Then
          If keyData = Keys.Enter Then
            Dim f As New Form2
            f.ShowDialog()
            DataGridView1.EndEdit()
            Return True
          End If
        End If
    


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    jueves, 23 de diciembre de 2010 7:04
    Moderador