Usuario
Ayuda con error en CellValueChanged

Pregunta
-
Hola me esta dando problemas al poner codigo en CellValueChanged y no se como reparar
Private Sub DGV_Lupulos_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_Lupulos.CellValueChanged
DGV_Lupulos.CurrentRow.Cells(1).Value = Lupulo.Items(1)
End SubCodigo donde hay conflicto
Private Sub Bt_editar_receta_Click(sender As Object, e As EventArgs) Handles Bt_editar_receta.Click
receta_nueva.Bt_Guardar_Receta_Nueva.Enabled = False
receta_nueva.Show()
receta_nueva.Text = "Editar Receta"
Dim Nombre As String
Nombre = DataGridViewX1.CurrentRow.Cells(4).EditedFormattedValue.ToString
receta_nueva.TextBox1.Text = Nombre
Dim Fecha_elaboracion As String
Fecha_elaboracion = DataGridViewX1.CurrentRow.Cells(5).EditedFormattedValue.ToString
receta_nueva.DateTimeInput1.Text = Fecha_elaboracion
Dim Estilo As String
Estilo = DataGridViewX1.CurrentRow.Cells(6).EditedFormattedValue.ToString
receta_nueva.ComboBox6.Text = Estilo
Dim tipo As String
tipo = DataGridViewX1.CurrentRow.Cells(7).EditedFormattedValue.ToString
receta_nueva.ComboBox7.Text = tipo
Dim Densidad_Inicial As String
Densidad_Inicial = DataGridViewX1.CurrentRow.Cells(8).EditedFormattedValue.ToString
receta_nueva.TextBox3.Text = Densidad_Inicial
Dim Densidad_Final As String
Densidad_Final = DataGridViewX1.CurrentRow.Cells(9).EditedFormattedValue.ToString
receta_nueva.TextBox5.Text = Densidad_Final
Dim atenuacion As String
atenuacion = DataGridViewX1.CurrentRow.Cells(10).EditedFormattedValue.ToString
receta_nueva.LabelX11.Text = atenuacion
Dim graduacion As String
graduacion = DataGridViewX1.CurrentRow.Cells(11).EditedFormattedValue.ToString
receta_nueva.LabelX10.Text = graduacion
Dim color As Integer = DataGridViewX1.CurrentRow.Cells(12).EditedFormattedValue.ToString
receta_nueva.ComboBox2.Text = receta_nueva.ComboBox2.Items.Item(color)
Dim Fecha_Embotellado As String
Fecha_Embotellado = DataGridViewX1.CurrentRow.Cells(13).EditedFormattedValue.ToString
receta_nueva.DateTimeInput2.Text = Fecha_Embotellado
Dim hervido As String
hervido = DataGridViewX1.CurrentRow.Cells(15).EditedFormattedValue.ToString
receta_nueva.ComboBox5.Text = hervido
Dim Inicio_fermentacion As String
Inicio_fermentacion = DataGridViewX1.CurrentRow.Cells(17).EditedFormattedValue.ToString
receta_nueva.DateTimeInput3.Text = Inicio_fermentacion
Dim Finalizacion_fermentacion As String
Finalizacion_fermentacion = DataGridViewX1.CurrentRow.Cells(18).EditedFormattedValue.ToString
receta_nueva.DateTimeInput4.Text = Finalizacion_fermentacion
Dim Secundario As String
Secundario = DataGridViewX1.CurrentRow.Cells(19).EditedFormattedValue.ToString
receta_nueva.DateTimeInput5.Text = Secundario
Dim Finalizacion_Secundario As String
Finalizacion_Secundario = DataGridViewX1.CurrentRow.Cells(20).EditedFormattedValue.ToString
receta_nueva.DateTimeInput6.Text = Finalizacion_Secundario
'CALCULA EL ALCOHOL EN EDITAR
If receta_nueva.TextBox5.Text = "" Or receta_nueva.TextBox3.Text = "" Then
receta_nueva.LabelX10.Text = FormatNumber(0, 2) & " °"
receta_nueva.LabelX11.Text = FormatNumber(0, 2) & " %"
Else
Dim tb3 As String = Val(receta_nueva.TextBox3.Text) - Val(receta_nueva.TextBox5.Text)
Dim tb3_2 As String = tb3 / 7.45
receta_nueva.LabelX10.Text = FormatNumber(tb3_2, 2) & " °"
Dim ATENUA As String = Val(receta_nueva.TextBox3.Text) - 1000
Dim ATENUA2 As String = 100 * ((Val(receta_nueva.TextBox3.Text) - Val(receta_nueva.TextBox5.Text)) / ATENUA)
receta_nueva.LabelX11.Text = FormatNumber(ATENUA2, 2) & " %"
End If
'CALCULA EL ALCOHOL EN EDITAR
' NOMBRE DEL GROUPPANEL2
receta_nueva.GroupPanel2.Text = receta_nueva.GroupPanel2.Text & " " & "de " & "la Cerveza " & DataGridViewX1.CurrentRow.Cells(4).Value
' NOMBRE DEL GROUPPANEL2
' NOMBRE DEL Gp_Aditivos
receta_nueva.Gp_Aditivos.Text = receta_nueva.Gp_Aditivos.Text & " " & "de " & "la Cerveza " & DataGridViewX1.CurrentRow.Cells(4).Value
' NOMBRE DEL Gp_Aditivos
receta_nueva.TextBox1.Enabled = False
receta_nueva.DateTimeInput1.Enabled = False
If receta_nueva.TextBox5.Text = "0" Then
receta_nueva.LabelX11.Text = "0,00 %"
receta_nueva.LabelX10.Text = "0,00 °"
End If
receta_nueva.DataGridViewX2.AutoResizeColumns() 'AJUSTA COLUMNAS A EL CONTENIDO DEL DATAGRIDVIEW
If receta_nueva.DataGridViewX2.Rows.Count <= 0 Then
receta_nueva.Bt_Eliminar_Macerado.Enabled = False
End If
'' CARGA LLAS MALTAS
receta_nueva.PageSlider1.SelectedPage = receta_nueva.PageSliderPage1
End Sub- Editado JETET viernes, 23 de enero de 2015 9:42
- Cambiado Enrique M. Montejo lunes, 26 de enero de 2015 7:50 Pregunta relaconada con eventos de controles de Windows Forms.
Todas las respuestas
-
Pero el error que aparece en la pantalla no se produce en el código que copias en el mensaje.
Para controlar el error del pantallazo:
If DGV_RECETAS.CurrentRow.Cells(0).Value <> DBNull.Value AndAlso Not string.IsNullOrEmpty(CStr(DGV_RECETAS.CurrentRow.Cells(0).Value)) Then
Aunque no sé si es esto lo que necesitas. -
Hola:
¿Porque no le pasas la fila actual del datagridview al Form receta_nueva, y en el Load de este haces todo el proceso de carga; asi no tienes que estar cargando un Form desde otro Form?Ejemplo
En el form que llamaPublic Class FrmLlamador
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim loFila As DataGridViewRow = Me.DataGridView1.CurrentRow()
Dim loForm As New receta_nueva
loForm.mDataGridViewRow = loFila
loForm.Show()
End Sub
End ClassEn el form que es llamado
Public Class receta_nueva
Public mDataGridViewRow As DataGridViewRowPrivate Sub receta_nueva_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Me.TextBox1.Text = mDataGridViewRow.Cells("PRIMER_CAMPO").Value.ToString
Me.TextBox2.Text = mDataGridViewRow.Cells("SEGUNDO_CAMPO").Value.ToString
End Sub
End ClassUn saludo desde Bilbo
Carlos -
-
-
-
Buenos días el error lo tienes en que primero deshabilitas un formulario que no ha sido creado o abierto a aun. Debes cambiar el orden de la primera línea por el de la segunda.
receta_nueva.Bt_Guardar_Receta_Nueva.Enabled = False receta_nueva.Show() 'cambiar por: receta_nueva.Show() 'Aquí se abre el form o lo que es lo mismo lo creas por eso te da el error. receta_nueva.Bt_Guardar_Receta_Nueva.Enabled = False
Espero haber sido de ayuda.
Si la contestación te ha servido de ayuda márcala como respuesta. Si lo que publico no funciona, no tengo la culpa, SOY HUMANO, no una máquina.
-
-
-
el error me lo da cuando pongo esta instrucion
Private Sub DGV_Lupulos_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_Lupulos.CellValueChanged
DGV_Lupulos.CurrentRow.Cells(1).Value = Lupulo.Items(1)
End Subsi la quito todo va bien
-
-