none
VB2010 - Problema con datatable entre formularios RRS feed

  • Pregunta

  • Estimados

    tengo dos formulario, del cual tengo que traspasar datos entre los formularios pero no envia los datos cuando presiono el botón Volver del formulario 2.

    Formulario 1

     Dim Seleccion As New DataTable
                Dim frm2 As New frmVtaAnexChq
    
                If frm2.ShowDialog() = DialogResult.OK Then
    
                    Seleccion = frm2.Seleccion
                    frm2.ShowDialog()
                End If

    Formulario 2

     Private Sub btnVolver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVolver.Click
            VolcarDatos()
            Me.DialogResult = DialogResult.OK
        End Sub
    
        Private _datos As DataTable
    
        Public Property Seleccion() As DataTable
            Get
                Return _datos
            End Get
            Set(ByVal Value As DataTable)
                _datos = Value
            End Set
        End Property
    
        Private Sub VolcarDatos()
            Dim _datos As New DataTable
    
            For Each item As ListViewItem In lvDetalle.SelectedItems
                Dim row As DataRow = _datos.NewRow()
    
                row("Serie") = item.SubItems(2).Text
                row("NDoc") = item.SubItems(3).Text
                row("Emision") = item.SubItems(4).Text
                row("Vence") = item.SubItems(5).Text
                row("Monto") = item.SubItems(6).Text
                row("Banco") = item.SubItems(7).Text
    
                _datos.Rows.Add(row)
            Next
        End Sub
    • Cambiado Enrique M. Montejo sábado, 7 de abril de 2012 15:54 acceso a datos (De:Lenguaje VB.NET)
    domingo, 18 de marzo de 2012 3:16

Todas las respuestas

  • porque en la primer parte del codigo usas

     If frm2.ShowDialog() = DialogResult.OK Then

    y despues

     frm2.ShowDialog()

    eso esta incorrecto, solo lo deberias hacer en el if y solo en ese momento nada mas, no dos veces

    ---------

    el problema lo tienes porque declaras dentro del metodo VolcarDatos() la linea

    Dim _datos As New DataTable

    quita esa linea y funcionara

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 18 de marzo de 2012 3:39
  • Leandro,

    traté de llenar el Datatable pero me arroja un error:

     Private _datos As New DataTable
    
        Public Property Seleccion() As DataTable
            Get
                Return _datos
            End Get
            Set(ByVal Value As DataTable)
                _datos = Value
            End Set
        End Property
    
        Private Sub VolcarDatos()
    
            For Each item As ListViewItem In lvDetalle.Items
                Dim row As DataRow = _datos.NewRow()
    
                row("Serie") = item.SubItems(2).Text >> "La columna 'Serie' no pertenece a la tabla"
                row("NDoc") = item.SubItems(3).Text
                row("Emision") = item.SubItems(4).Text
                row("Vence") = item.SubItems(5).Text
                row("Monto") = item.SubItems(6).Text
                row("Banco") = item.SubItems(7).Text
    
                _datos.Rows.Add(row)
            Next
    
            Dim contar As Integer = _datos.Rows.Count
        End Sub

    domingo, 18 de marzo de 2012 15:35
  • cual es la query que usas para cargar el datatable _datos ?

    esta tiene la columna "Serie" ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 18 de marzo de 2012 17:09