Visual Basic.NET - Pasar datos de un DataGridView a un Formulario

   
Vista:

Pasar datos de un DataGridView a un Formulario

Publicado por Silvia Mendez (5 intervenciones) el 06/04/2012 00:55:09
Recupero datos de un DataGridView (que se relaciona mediante un DataSet a la tabla Contratos) para trasladar a un formulario (que se relaciona a una tabla cobros) donde se llenara datos para realizar la actualizacion de cobranzas, de los datos que recupero del DataGridView cuando se abre el formulario Cobros los los objetos TextBox del formulario quedan vacios, no se por que no llena con los datos recuperados del DataGridView que existen (ya que mediante el depurador verifique los valores de mNumContrato y mCuotaNo que son los del DataGridView ), por favor si pueden darme una ayuda.

El codigo es el siguiente:

' Esto es cuando selecciono una fila del DataGridView y
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
'COBRO CONTRATO
mCobro = -10
mFila = Me.ContratosDataGridView.CurrentRow.Index
mNumContrato = Me.ContratosDataGridView(0, mFila).Value
mCuotaNo = Me.ContratosDataGridView(9, mFila).Value
frmCobro.MdiParent = frmPrincipal
frmCobro.Show()
End Sub

Private Sub frmCobro_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'DataSetCartera.Cobros' Puede moverla o quitarla según sea necesario.
If mCobro = -10 Then
Me.Text = Me.Text & " No. " & mBusca
Me.CobrosBindingSource.AddNew()
Me.FechaCobroDateTimePicker.Value = Now()
Me.NumContratoTextBox.Text = mNumContrato ' ESTE TEXTBOX LO MUESTRA VACIO Y NO CON mNumContrato
MsgBox("Nuevo cobro")
Me.ProximoCobroDateTimePicker.Value = Now().AddMonths(1)
Me.ReciboTextBox.Text = "1234" ' ESTE TEXTBOX TAMPOCO LO MUESTRA CON 1234 QUE LE PUSE PARA PROBAR
Me.NumeroCuotaTextBox.Text = mCuotaNo ' ESTE TEXTBOX LO MUESTRA VACIO Y NO CON mNumeroCuota
Me.ReciboTextBox.Focus() ' TAMPOCO APARECE EL TEXTBOX CON EL FOCO
Else
mBusca = CobrosBindingSource.Find("IdCobro", mBusca)
Me.CobrosBindingSource.Position = mFila
MsgBox("Editar Cobro")
If FacturaTextBox.Text > "0" Then
chkConFactura.Checked = True
FacturaTextBox.Enabled = True
End If
End If

End Sub

Quien puede resolver esto le estoy muy agradecida.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pasar datos de un DataGridView a un Formulario

Publicado por ros (21 intervenciones) el 06/04/2012 09:44:53
Numero 1, ¿has probado a hacerle un debug, paso a paso?

Numero 2, los campos bolean están para algo

Numero 3, lo más importante.

Si quieres que un campo bolean sirva de una subrutina para otra debes de declararlo en la cabecera de las subrutinas o el modulo de subrutinas.

Supongamos que mCobro va a funcionar solo en ese formulario, pues encima de todas lo subrutinas lo declaramos como “private mCobro as xxxxx”, ojo encima de las subrutinas pero dentro de la clase.

Supongamos que mCobro va a funcionar en todo el aplicativo, pues en el modulo de variable globales lo declaramos como “public mCobro as xxxxx”

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar datos de un DataGridView a un Formulario

Publicado por Silvia Mendez (5 intervenciones) el 06/04/2012 16:39:17
Ros he probado F8 (debug), y referente a la variable mCobro es una variable publica a nivel de toda la aplicacion. se usa tambien en otras clases.

Sin ir muy lejos por que ni siquiera me toma en cuenta la siguiente linea:
Me.ReciboTextBox.Text = "1234" ' ESTE TEXTBOX TAMPOCO LO MUESTRA CON 1234 QUE LE PUSE PARA PROBAR

considerando que toma en cuenta el valor asignado al ProximoCobroDateTimePicker (es decir muestra en el formulario con el nuevo valor (fecha actual + 1 mes) que es la siguiente linea que esta dentro de la subrutina mensionada.
Me.ProximoCobroDateTimePicker.Value = Now().AddMonths(1)

No encuentro donde esta la falla.

Gracias Ros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar datos de un DataGridView a un Formulario

Publicado por ros (21 intervenciones) el 06/04/2012 22:13:00
¿que tipo de variable es mCobro?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar datos de un DataGridView a un Formulario

Publicado por ros (21 intervenciones) el 06/04/2012 22:15:31
Que vale "mCobro" cuando en formato debug separa el cursor sobre "If mCobro = -10 Then"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar datos de un DataGridView a un Formulario

Publicado por ros (21 intervenciones) el 06/04/2012 22:30:19
Y esto ya es meterme donde no me llaman, pero es una buena practica declarar las variables con cierta nomenclatura en mi caso.
LO_xxxxxx =variable local a una subrutina.
LO_ST_xxxxxxx= variable estática local a una subrutina
PR_xxxxxxx=variable global dentro de la clase.
PU_xxxxxxx=variable publica para todo el proyecto.

Cuando voy a crear una variable siempre la escribo en minúscula y si el entorno me pasa las primeras letras a mayúsculas es que ya la tengo declarada.

Una vez que el entorno me respeta las minúsculas, cambio la raíz a mayúsculas.

Esto que parece una tontería te quita muchos dolores de cabeza.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar datos de un DataGridView a un Formulario

Publicado por william Alexander Brito Viñas (2 intervenciones) el 07/04/2012 21:43:09
Una manera de clarificar esto seria:

Paso 1:

Podrias crear un constructor para el formulario que acepte un parametro tipo estructura cuyos campos sean los valores con los cuales vas a llenar los controles del formulario. (Esta tarea de inicializacion de los valores de los controles la debes realizar en el codigo del constructor).

Paso 2:
Llama a este constructor desde el Form del datagrid pasandole la estructura con sus campos inicializados a los valores correspondientes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar