Hola amigos! me he visto obligado a recorrer a vuestra ayuda tras la imposibilidad de avanzar en la elaboración de mi proyecto
vb .net 2005
Lo que pretendo es simplemente mostrar el valor de una cadena que recojo del
DataGridView (enlazado a un
DataView) de un formulario (
Form2) para mostrarlo en un control tipo
TextBox de otro formulario
Form1.
El siguiente código no da ningun error pero me impide leer la maldita cadena
Form 1 - frmNuevoPedido
Código:
'***ABRIMOS FORMULARIO FORM1****************************
Public Sub openForm(ByVal id As String, ByVal esUPD As Boolean)
Call cargarDatos()
Me.ShowDialog()
End Sub
(...)
'***LLAMAMOS A FORM2 PARA LEER DATOS DEL DATASET ************
Private Sub CmdBuscarProveedor_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CmdBuscarProveedor.Click
Dim ofrmListaProveedores As frmListaProveedores = New frmListaProveedores
ofrmListaProveedores.openForm()
End Sub
(...)
'***ASIGNAMOS VALOR DESPUES DE RECIBIR EL ÍNDICE POR REFERENCIA DESDE FORM2 ****************************
Public Sub CogerNombreProveedor(ByVal idpro As String)
Dim oDataView As New DataView(oDataSet.Tables("Proveedores"), "ID_Proveedor = '" & idpro & "'", Nothing, DataViewRowState.CurrentRows)
Dim oDataRowView As DataRowView
For Each oDataRowView In oDataView
'la siguiente instrucción no la ejecuta! POR QUÉ?¿?
'es como si el TxtProveedor estuviera bloqueado
'si aquí hago un MsgBox(oDataRowView("Nombre").ToString.ToUpper) el valor sale perfectamente por pantalla pero la siguiente instrucción no lo asigna a TextProveedor
Me.TxtProveedor.Text = oDataRowView("Nombre").ToString.ToUpper
'Me.TxtProveedor.Text = "ENTRAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Next
End Sub
Form 2 - frmListaProveedores
Código:
'***ABRIMOS FORMULARIO FORM2****************************
Public Sub openForm()
Call InitializeDataGridView() 'los datos se muestran correctamente
Me.ShowDialog()
End Sub
(...)
'***RECOGEMOS ÍNDICE DE LA FILA Y LO PASAMOS POR REFERENCIA A OTRO PROCEDIMIENTO QUE ES LEÍDO POR FORM1****************************
Private Sub DGV_ListaProveedores_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_ListaProveedores.CellDoubleClick
If Not (Me.DGV_Pacients.Rows(e.RowIndex).Cells("ID_Proveedor").Value Is Nothing) Then Call leerNombreProveedor(Me.DGV_Pacients.Rows(e.RowIndex).Cells("ID_Proveedor").Value)
End Sub
(...)
'***SUBRUTIMA QUE ENVÍA EL VALOR PARA SER ASIGNADO AL CONTROL DESEADO DESDE MISMO FORM1****************************
Private Sub leerNombreProveedor(ByVal id As String)
Call frmNuevoPedido.CogerNombreProveedor(id) 'llamo a procedimiento de Form1 para leer valor
Me.Close()
End Sub
Como abreis podido ver se trata de
2 formularios Modales (
ShowDialog()). ¿Eso puede tener algo que ver?
Agradezco de antemano cualquier idea