none
Tengo el siguiente problema al cargar formulario RRS feed

  • Pregunta

  • Cuando doy al boton de confirurar en el datagridview se abre un formulario donde tendria que cargar una informacion de la fila señalada

    Me lo añade como en la segunda fotografia

    Private Sub DGV_Maltas_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_Maltas.CellClick
    
            If DGV_Maltas.CurrentRow.Cells(0).Value = "" Then
            Else
                DGV_Maltas.CurrentRow.Cells(4).ToolTipText = "Informacion de la malta " & DGV_Maltas.CurrentRow.Cells(0).Value
                DGV_Maltas.Rows(e.RowIndex).Cells(3).ReadOnly = True
                DGV_Maltas.Rows(e.RowIndex).Cells(4).ReadOnly = True
                DGV_Maltas.Rows(e.RowIndex).Cells(1).ReadOnly = False
    
                'BUSCA Y AÑADE INFORMACION DE LA MALATA AL FORMULARIO INFO_MALTA 
                For i As Integer = 0 To DGV_Tabla_Fermentables.Rows.Count - 1
                    If DGV_Tabla_Fermentables.Rows(i).Cells(1).Value.ToString.ToLower.Contains(Me.DGV_Maltas.CurrentRow.Cells(0).Value.ToString.ToLower) Then
                        DGV_Maltas.CurrentRow.Cells(5).Value = DGV_Tabla_Fermentables.Rows(i).Cells(6).Value
                        DGV_Maltas.CurrentRow.Cells(6).Value = DGV_Tabla_Fermentables.Rows(i).Cells(4).Value
                        DGV_Maltas.CurrentRow.Cells(7).Value = DGV_Tabla_Fermentables.Rows(i).Cells(5).Value
                    End If
                Next
                'BUSCA Y AÑADE INFORMACION DE LA MALATA AL FORMULARIO INFO_MALTA
                'ABRE FORMULARIO DE INFORMACION DE LA MALTA
                If e.ColumnIndex = 4 Then
    
    
                    'AÑADE INFORMACION DE LA MALATA AL FORMULARIO INFO_MALTA 
                     Info_Malta_Receta.NUD_Color_SMR.Value = DGV_Maltas.CurrentRow.Cells(5).Value
                    Info_Malta_Receta.NUD_Ext_Potencial.Value = DGV_Maltas.CurrentRow.Cells(6).Value
                    Info_Malta_Receta.NUD_Ext_Por_Cien.Value = DGV_Maltas.CurrentRow.Cells(7).Value
                   
                    'AÑADE INFORMACION DE LA MALATA AL FORMULARIO INFO_MALTA
                    Info_Malta_Receta.Text = "Informacion de la malta " & DGV_Maltas.CurrentRow.Cells(0).Value
                    Info_Malta_Receta.GroupPanel1.Text = "Informacion de la malta " & DGV_Maltas.CurrentRow.Cells(0).Value
                    Info_Malta_Receta.Show()
                End If
                'ABRE FORMULARIO DE INFORMACION DE LA MALTA
               
                
            End If
    
        End Sub

    Codigo de formulario abierto

    Public Class Info_Malta_Receta
    
        Private Sub Info_Malta_Receta_Load(sender As Object, e As EventArgs) Handles MyBase.Load
           
           
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            
        End Sub
        
    
        Private Sub NUD_Color_SMR_ValueChanged(sender As Object, e As EventArgs) Handles NUD_Color_SMR.ValueChanged
            Call Actualiza_Info_Malta()
        End Sub
    
        Private Sub NUD_Ext_Potencial_ValueChanged(sender As Object, e As EventArgs) Handles NUD_Ext_Potencial.ValueChanged
            Call Actualiza_Info_Malta()
        End Sub
    
        Private Sub NUD_Ext_Por_Cien_ValueChanged(sender As Object, e As EventArgs) Handles NUD_Ext_Por_Cien.ValueChanged
            Call Actualiza_Info_Malta()
        End Sub
    
        Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            Call Actualiza_Info_Malta()
        End Sub
        Sub Actualiza_Info_Malta()
            
                Receta_Nueva.DGV_Maltas.CurrentRow.Cells(5).Value = NUD_Color_SMR.Value
                Receta_Nueva.DGV_Maltas.CurrentRow.Cells(6).Value = NUD_Ext_Potencial.Value
                Receta_Nueva.DGV_Maltas.CurrentRow.Cells(7).Value = NUD_Ext_Por_Cien.Value
                Receta_Nueva.DGV_Maltas.CurrentRow.Cells(8).Value = ComboBox1.Text
    
            
        End Sub
    End Class

    Gracias

    miércoles, 22 de junio de 2016 8:53

Respuestas

  • Entonces lo tienes que hacer tal y como lo tienes pero suscribir el evento una vez que tengas cargados los datos, Por otro lado comentarte que no deberías de modificar los datos de los controles como lo haces, no es una buena práctica, lo ideal sería pasar los datos en el constructor o utilizando propiedades. Los controlen no deberían de ser accesibles desde fuera de la propia clase.



    Es de buena educación dar las gracias cuando te ayudan, si alguna respuesta te ha sido de utilidad agradécelo marcandola como útil.
    Blog

    • Marcado como respuesta JETET miércoles, 22 de junio de 2016 15:32
    miércoles, 22 de junio de 2016 11:30

Todas las respuestas

  • Hola ,

    Creo que lo que tienes es un problema en el dispara de eventos, si no recuerdo mal el evento ValueChange se dispara tambien si el valor cambia por código. Por lo tanto cambias el valor del color y el evnto se dispara como el resto de información no ha cambiado todabia su valor es cero y por eso te pone todo a cero, en el formulario tienes un boton actualizar, usa el evento click para llamar al metodo Actualizar_Info_Malta y no lo llames en los eventos ValueChanged.

    Un saludo.


    Es de buena educación dar las gracias cuando te ayudan, si alguna respuesta te ha sido de utilidad agradécelo marcandola como útil.
    Blog

    miércoles, 22 de junio de 2016 9:59
  • Gracias por responder Rodripelto

    Eso si lo se Rodripelto

    queria saber si hay alguna manera de no tener que usar el boton


    miércoles, 22 de junio de 2016 11:12
  • Entonces lo tienes que hacer tal y como lo tienes pero suscribir el evento una vez que tengas cargados los datos, Por otro lado comentarte que no deberías de modificar los datos de los controles como lo haces, no es una buena práctica, lo ideal sería pasar los datos en el constructor o utilizando propiedades. Los controlen no deberían de ser accesibles desde fuera de la propia clase.



    Es de buena educación dar las gracias cuando te ayudan, si alguna respuesta te ha sido de utilidad agradécelo marcandola como útil.
    Blog

    • Marcado como respuesta JETET miércoles, 22 de junio de 2016 15:32
    miércoles, 22 de junio de 2016 11:30
  • Podrias usar otros eventos como keypress o lostfocus.

    Es de buena educación dar las gracias cuando te ayudan, si alguna respuesta te ha sido de utilidad agradécelo marcandola como útil.
    Blog

    miércoles, 22 de junio de 2016 11:39
  • Gracias 

    lo e solucionado a si

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.Text <> Receta_Nueva.DGV_Maltas.CurrentRow.Cells(8).Value Then
                Call Actualiza_Info_Malta()
            Else
            End If
        End Sub

    miércoles, 22 de junio de 2016 15:04