Visual Basic.NET - No puedo llenar DataGridView en un formulario MDI

 
Vista:

No puedo llenar DataGridView en un formulario MDI

Publicado por Adrián Eric (4 intervenciones) el 01/06/2010 21:04:34
Hola a todos, por favor necesito de su ayuda:
Estoy incursionando en programar formularios MDI, el tema es así, tengo un formulario "FrmPrincipal" padre (propiedad IsMDIContainer = true) y otro hijo llamado FrmClientes, en este último formulario tengo 2 DataGridViews a los cuales los quiero llenar con consulta desde MySQL, el problema es que logro hacer que el formulario se abra al presionar un boton ubicado en la barra de botones del form padre, pero cdo se abre el formulario hijo, se muestra perfectamente pero sin los datos de la base de datos (cuyo codigo está en el evento Form_Load del form hijo). Hice la prueba de abrir el formulario hijo solo sin que exista el padre y todo anda bien, alquien me puede orientar que hago mal?. Desde ya muchas gracias. Paso codigo de llenado de datos del datagrid.

Private Sub FrmVisorClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load

Call LlenadoDataGridClientes()

End Sub
----------------------
Sub LlenadoDataGridClientes()
Dim StrSQLClientes As String = "SELECT * FROM Clientes ORDER BY Nombre_Empresa"
Dim TablaClientes As New DataTable
Dim MyAdaptador As New MySqlDataAdapter
Dim MyReader As New MySqlCommandBuilder(MyAdaptador)


Try
MyAdaptador.SelectCommand = New MySqlCommand(StrSQLClientes, CnxGral)
MyAdaptador.Fill(TablaClientes)
Catch ex As MySqlException
MsgBox(ex.Number & ": " & ex.Message, MsgBoxStyle.Exclamation, "Error devuelto por BD")
Exit Sub
End Try

FrmVisorClientes.DataGridViewClientes.DataSource = TablaClientes

TablaClientes = Nothing
MyAdaptador = Nothing
MyReader = Nothing
FrmClientes = Nothing

End Sub
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

RE:No puedo llenar DataGridView en un formulario M

Publicado por OliBeer (391 intervenciones) el 01/06/2010 21:42:32
Hola,

Podrías poner el código del botón donde abres el formulario hijo.

Saludos.
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

paso codigo solicitado

Publicado por Adrián Eric (4 intervenciones) el 01/06/2010 22:56:42
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click

Call MuestraFrmSec("FrmVisorCliente")

End Sub

----------------
Sub MuestraFrmSec(ByVal NombreFrm As String)

Dim FrmSec As New FrmVisorClientes
FrmSec.MdiParent = FrmPrincipal
FrmSec.Show()
End Sub
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

RE:paso codigo solicitado

Publicado por OliBeer (391 intervenciones) el 02/06/2010 16:50:17
Hola,

Pues la verdad no veo por dónde esté el error. Lo que te voy a pedir que hagas, es que en lugar de que en el Load de FrmVisorClientes mandes llamar a LlenadoDataGridClientes() , lo ganas desde el form de FrmPrincipal.

Primero, el sub de LlenadoDataGridClientes declaralo como Public, ahora, elimina el sub Load de FrmVisorClientes, o mínimo quita el llamado al sub.

Ahora, lo que tienes que hacer es, mandar llamar al sub LlenadoDataGridClientes desde FrmPrincipal. Como ya lo declaraste Public, sí vamos a poder tener acceso a él. Algo así:

Dim FrmSec As New FrmVisorClientes
FrmSec.MdiParent = FrmPrincipal
FrmSec.LlenadoDataGridClientes()
FrmSec.Show()

Y a ver si desde este lado sí lo carga.

Saludos.
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

RE:paso codigo solicitado

Publicado por Adrián (4 intervenciones) el 03/06/2010 04:42:13
hice lo recomendado pero sin resultados, la verdad que estoy frustrado con este problema.
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