none
adicionar datos a un list para grabar - Urgente por favor RRS feed

  • Pregunta

  • Hola  a todos.
    Hay algo que no he podido realizar y es lo siguiente:
    Tengo que grabar el encabezado y detalle de una hoja de recibido de materiales, por favor y tengo el detalle en un datagridview en un formulario.

    Objetos.
    oencabehoja (Entidad con los datos del encabezado)
    odetallehoja  (Entidad con los datos del detalle)
    omvtohoja    (Clase con los metodos para grabar, consultar etc)

    En oencabehoja tengo:

    Public Class cl_hoja_recepcion_encabe
        Private v_numero_recepcion As String
        Private v_fecha_cliente As Date
        Private v_listadetalle As List(Of cl_hoja_recepcion_detalle)()
        Public Property numero_recepcion() As String
            Get
                Return v_numero_recepcion
            End Get
            Set(ByVal value As String)
                v_numero_recepcion = value
            End Set
        End Property
          Public Property fecha_cliente() As Date
            Get
                Return v_fecha_cliente
            End Get
            Set(ByVal value As Date)
                v_fecha_cliente = value
            End Set
        End Property   
    
        ' PROPIEDAD para guardar los datos del detalle.
        Public Property listadetalle() As List(Of cl_hoja_recepcion_detalle)()
            'Public Property List<cl_hoja_recepcion_detalle> listadetalle = new List<cl_hoja_recepcion_detalle>()
            Get
                Return v_listadetalle
            End Get
            Set(ByVal value As List(Of cl_hoja_recepcion_detalle)())
                v_listadetalle = value
            End Set
        End Property
    End Class

    En odetallehoja  tengo:

    Public Class cl_hoja_recepcion_detalle
        Private v_numero_recepcion As String
        Private v_codigo_referencia As String
        
        Public Property numero_recepcion() As String
            Get
                Return v_numero_recepcion
            End Get
            Set(ByVal value As String)
                v_numero_recepcion = value
            End Set
        End Property
        Public Property codigo_referencia() As String
            Get
                Return v_codigo_referencia
            End Get
            Set(ByVal value As String)
                v_codigo_referencia = value
            End Set
        End Property
       
    End Class

    Para grabar el encabezado en el formulario creo el objeto "oencabehoja1" le adiciono los datos desde los texbox y lo envio al metodo de "omvtohoja.grabar"

    Dim ohoja As New oencabehoja 
    ohoja.numero_recepcion = tx_lote.Text
    ohoja.fecha_cliente = tx_fecha_cli.Text
    vgrabarh = omvtohoja.grabar(ohoja)

    PREGUNTA 1:
    Mi pregunta es como hago para grabar el detalle????
    Los datos los tengo en una grilla llamada gd_detalle, realizo el siguiente procedimiento para pasarlos a un list (OF) pero hasta ahy llego.

    Dim olistadet As New List(Of odetallehoja)()
    For Each row As DataGridViewRow In dg_detalle.Rows
            Dim ohoja_det As New odetallehoja  
            ohoja_det.numero_recepcion = tx_lote.Text
            ohoja_det.codigo_referencia = Convert.ToString(row.Cells("codigo_referencia").Value)
            olistadet.Add(ohoja_det)
     Next
    

    PREGUNTA 2.
    Si deseo grabar en la bd debo hacer un for para cada registro del List e ir grabando ?

    Trabajo con VB 2005.

    Les agradezco la colaboración.

    viernes, 1 de junio de 2012 21:19

Respuestas

Todas las respuestas