locked
¿Cómo sincronizar el movimiento de un formulario (Form1) con un DataGridView1 (ambos en la misma ventana)? RRS feed

  • Pergunta

  • Hola,

    Estoy desarrollando una aplicación para un curso de formación en VB, pero estoy con algunas dificultades. ¿Alguno de vosotros podéis ayudarme?

    Tengo un formulario (Form1) donde hago la presentación e inclusión de datos de en una base (del MS Access). En él he añadido dos botones para mover los registros (para delante y para detrás). Lo que pasa es que debajo de los textbox he incluido un DataGridView para presentar los mismos datos de mi base, pero, cuando movimiento los datos a partir de los botones que he añadido, los mismos no hacen que la línea del DataGridView “camine” junto. ¿Cómo podría sincronizar la presentación de los datos tanto en el Form1 como en el DataGridView, a partir de los botones de navegación?

    Las dos procedures (sub) que utilizo para controlar los botones son las siguientes:

    Private Sub cmdSiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSiguiente.Click

    If Me.iPosicFilaActual = 0 Then

    MessageBox.Show("Primer registro", "INICIO", MessageBoxButtons.OK, MessageBoxIcon.Information)

    Else

    Me.iPosicFilaActual = iPosicFilaActual - 1
    Dim oDataRow2 As DataRow
           oDataRow2 = miDataSet.Tables("Agenda").Rows(iPosicFilaActual)

    Me.txtNombre.Text = oDataRow2("nombre")
    Me.txtApellido.Text = oDataRow2("apellidos")
    Me.txtTelefono.Text = oDataRow2("telefono")
    Me.txtMail.Text = oDataRow2("email")

    End If

    End Sub

    Private Sub cmdSiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSiguiente.Click

            If Me.iPosicFilaActual = (miDataSet.Tables("Agenda").Rows.Count - 1) Then

    MessageBox.Show("Ultimo registro", "FIN", MessageBoxButtons.OK, MessageBoxIcon.Information)

            Else

    'incrementar el marcador de registro
    'actulizar los controles con los
    'datos del registro actual

    Me.iPosicFilaActual = iPosicFilaActual + 1
    Dim oDataRow2 As DataRow
    oDataRow2 = miDataSet.Tables("Agenda").Rows(iPosicFilaActual)

    Me.txtNombre.Text = oDataRow2("nombre")
    Me.txtApellido.Text = oDataRow2("apellidos")
    Me.txtTelefono.Text = oDataRow2("telefono")
    Me.txtMail.Text = oDataRow2("email")

            End If

    End Sub



    segunda-feira, 25 de fevereiro de 2013 17:17

Todas as Respostas

  • Hola Paulo Meireles,

    Nuestra sugestión es que busque por ayuda en nuestros foruns en español (http://social.msdn.microsoft.com/Forums/es-ES/vbes/threads).
    Este forun es para usuarios en lengua portuguesa en Brasil.

    Así mismo, estaremos estudiando su duda y intentaremos contestala lo más rápido posible.

    Gracias.

    Felipo Gonçalves
    Microsoft Contingent Staff

    quarta-feira, 20 de março de 2013 14:23