none
como guardar la posicion de fila en un dbgridview en vb.net

    Question

  • quiero saver como guardar la posicion de una fila en un dbgridview ya que cuando vuelva a cargar el dbgridview que se valla a la posicion que yo aya guarrdado
    Saturday, February 12, 2011 3:12 AM

Answers

  • hola

    es que no creo que sea recomendable guardar una posicion, lo que debwerias guardar es el id o codigo de la entindad que cargas

    en el datagridview que informacion estas mostrando ? es la info de alguna tabla en particular

    si es asi esta deberia tener alguna clave que identifique al registro, bien con esta es que podrias guardarla y al recuperar los datos volver a seleccionarlo

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, February 13, 2011 5:31 AM
  • "eltornado81" preguntó:

    > quiero saver como guardar la posicion de una fila en un dbgridview ya que
    > cuando vuelva a cargar el dbgridview que se valla a la posicion que yo
    > aya guarrdado

    Hola:

    El valor de la propiedad «CurrentCellAddress» del control DataGridView, precisamente te devuelve como valor «Point» los índices de fila y columna de la celda activa actualmente, por tanto, ese sería el valor que tienes que guardar para que cuando se muestre nuevamente el control DataGridView, puedes establecer el valor de la propiedad «CurrentCell».

    Como no has indicado el lenguaje de programación que estás utilizando, vamos a suponer que se trata de Visual Basic .net. Para ello, a nivel del proyecto, declararías en un Modulo la siguiente variable:

        Module Module1

            ' Almacena la dirección actual de la celda activa
            '
            Public currentCellAddress As Point

        End Module


    Y cuando se cierre el formulario que contiene el control DataGridView cuya dirección de celda deseas guardar, ejecutarías lo siguiente:

        Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing

            ' Guardamos los índices de la fila y columna correspondientes
            ' a la celda activa actualmente.
            '
            currentCellAddress = DataGridView1.CurrentCellAddress

        End Sub

    Y cuando desees posicionarte de nuevo en la celda guardada, simplemente ejecutarías:

        ' Establecemos la celda actual
        DataGridView1.CurrentCell = DataGridView1.Rows(currentCellAddress.Y).Cells(currentCellAddress.X)

        ' Seleccionamos la fila actual
        DataGridView1.Rows(currentCellAddress.Y).Selected = True

    La última instrucción no es necesaria; simplemente la he puesto para que observes bien que la fila queda seleccionada.

    Un saludo

     


    Enrique Martínez
      [MS MVP - VB]

    Sunday, February 13, 2011 7:56 AM

All replies

  • hola

    es que no creo que sea recomendable guardar una posicion, lo que debwerias guardar es el id o codigo de la entindad que cargas

    en el datagridview que informacion estas mostrando ? es la info de alguna tabla en particular

    si es asi esta deberia tener alguna clave que identifique al registro, bien con esta es que podrias guardarla y al recuperar los datos volver a seleccionarlo

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, February 13, 2011 5:31 AM
  • "eltornado81" preguntó:

    > quiero saver como guardar la posicion de una fila en un dbgridview ya que
    > cuando vuelva a cargar el dbgridview que se valla a la posicion que yo
    > aya guarrdado

    Hola:

    El valor de la propiedad «CurrentCellAddress» del control DataGridView, precisamente te devuelve como valor «Point» los índices de fila y columna de la celda activa actualmente, por tanto, ese sería el valor que tienes que guardar para que cuando se muestre nuevamente el control DataGridView, puedes establecer el valor de la propiedad «CurrentCell».

    Como no has indicado el lenguaje de programación que estás utilizando, vamos a suponer que se trata de Visual Basic .net. Para ello, a nivel del proyecto, declararías en un Modulo la siguiente variable:

        Module Module1

            ' Almacena la dirección actual de la celda activa
            '
            Public currentCellAddress As Point

        End Module


    Y cuando se cierre el formulario que contiene el control DataGridView cuya dirección de celda deseas guardar, ejecutarías lo siguiente:

        Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing

            ' Guardamos los índices de la fila y columna correspondientes
            ' a la celda activa actualmente.
            '
            currentCellAddress = DataGridView1.CurrentCellAddress

        End Sub

    Y cuando desees posicionarte de nuevo en la celda guardada, simplemente ejecutarías:

        ' Establecemos la celda actual
        DataGridView1.CurrentCell = DataGridView1.Rows(currentCellAddress.Y).Cells(currentCellAddress.X)

        ' Seleccionamos la fila actual
        DataGridView1.Rows(currentCellAddress.Y).Selected = True

    La última instrucción no es necesaria; simplemente la he puesto para que observes bien que la fila queda seleccionada.

    Un saludo

     


    Enrique Martínez
      [MS MVP - VB]

    Sunday, February 13, 2011 7:56 AM