SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: cerocool en Martes 26 de Julio de 2005, 17:07
-
:alien:
buenas tengo un problema con un datagrid que tengo un forms 1 que debo llenar con una informacion que esta en un forms 2 desde este mismo formulario debo ejecutar el dataset para llenar el datagrid y no lohe podido hacer ya que de la forma que lo hice el dataset se ejecuta bien pero no se llena el datagrid por favor si me pueden ayudar se los agradesco cualquier cosa si no me he explicado bien le puedo en viar el codigo al correo para que lo vean mejor.
gracias
-
holas cerocool,,, :)
yo tambien trabajo con datagrid llenados con recordset dentro de varios formularios, no entiendo bien tu pregunta puedes mostrarme algo del codigo o ke parte del proceso es... saludos
z4r3th :comp:
-
zareth dame tu correo por fa para enviarte el codigo
:huh:
-
:alien:
zareth
bueno te voy a explicar mejor mi problema y tengo una aplicacion (oves) en la cual tengo un formulario que se llama ingresar_orden y otro que se llama item_configuracion; en el formulario ingresar_orden existe un datagrid(item), y un boton agregar_item cada vez que yo de click en el boton se abre el formulario item_configuracion en el cual existe unos combobox y uno textbox en los cuales debo insertar y escojer la informacion con la que voy a llenar el datagrid(item) en el formulario ingresar_orden. en el formulario item_configuracion hay un boton agregar que es el que ejecuta el dataset con el que se llena el datagrid(item). el cual hace todo bien pero el datagrid no se llena con la info y tratada por todos los medios y nada.
gracias..
PD: mi correo es cristianjmunoz@gmail.com (http://mailto:cristianjmunoz@gmail.com), cmunoz@energiasolarsa.com me puedes escribir a cualquiera de estos y yo te respondere y te enviare el codigo si lo deseas.
-
hey cerocool mi correo es retricom@hotmail.com, enviame tu codigo para revizarlo... saludos
z4r3th :comp:
-
cerocool por favor , pom tu codigo aqui si quires ayuda, asi podemos verlo y responderte sin nada de mails por el medio.
Coloca la parte del codigo que no te funciona, no todo.
Saludos
:hola:
-
:alien:
Solcito hay esta el codigo. de los dos formulario
Public Class frm_ingresar_orden
Inherits System.Windows.Forms.Form
Dim principal As frm_principal
Dim item_configuraciones As frm_item_configuracion
Dim funtions As New Functions
Dim items As DataSet
Dim titems As DataTable
Dim separador As DataSet
Dim tseparador As DataTable
Private Sub frm_ingresar_orden_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
funtions.cargar_clientes(Me.cb_cliente)
funtions.cargar_obras(Me.cb_proyecto, Nothing)
Catch ex As Exception
Throw ex
End Try
End Sub
Private Sub cb_cliente_SelectionChangeCommitted(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_cliente.SelectionChangeCommitted
If Me.cb_cliente.Items.Count > 0 Then
funtions.cargar_obras(Me.cb_proyecto, Me.cb_cliente.SelectedValue)
End If
End Sub
Private Sub frm_gestion_recibo_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Me.principal.v_orden_ingresar_orden = False
End Sub
'data swt para cargar los separadores a la orden
Public Function listado_separador() As DataSet
Dim separador_configuracion As New frm_separador_configuracion(Me.principal)
If IsNothing(separador) Then
separador = New DataSet("separador")
Dim cno_separador As New DataColumn("No Separador", GetType(String))
Dim ctipo As New DataColumn("Tipo", GetType(String))
Dim cmaterial As New DataColumn("Material", GetType(String))
Dim cespesor As New DataColumn("Espesor", GetType(String))
Dim cobservacion As New DataColumn("Observacion ", GetType(String))
tseparador = New DataTable("separador")
tseparador.Columns.Add(cno_separador)
tseparador.Columns.Add(ctipo)
tseparador.Columns.Add(cmaterial)
tseparador.Columns.Add(cespesor)
tseparador.Columns.Add(cobservacion)
separador.Tables.Add(tseparador)
End If
Dim nfila As DataRow
Try
nfila = tseparador.NewRow
nfila(0) = separador_configuracion.txt_separador_numero.Text
tseparador.Rows.Add(nfila)
tseparador.Rows(tseparador.Rows.Count - 1)(1) = separador_configuracion.cb_tipo.ValueMember
tseparador.Rows(tseparador.Rows.Count - 1)(2) = separador_configuracion.cb_material.ValueMember
tseparador.Rows(tseparador.Rows.Count - 1)(3) = separador_configuracion.cb_espesor.ValueMember
tseparador.Rows(tseparador.Rows.Count - 1)(4) = separador_configuracion.txt_separador_observacion.Text
Catch ex As Exception
separador.Clear()
Throw ex
End Try
Return separador
End Function
Private Sub btn_agregar_item_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_agregar_item.Click
Dim item_configuracion As New frm_item_configuracion(Me.principal)
If Me.principal.v_item_configuracion = False Then
item_configuracion.MdiParent = Me.principal
Me.principal.v_item_configuracion = True
item_configuracion.Show()
Me.principal.sb_estado.Text = "Listo."
Else
Me.principal.sb_estado.Text = "La ventana ya se encuentra abierta."
End If
End Sub
Private Sub btn_agregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_agregar.Click
Dim vidrio_configuracion As New frm_vidrio_configuracion(Me.principal)
Dim separador_configuracion As New frm_separador_configuracion(Me.principal)
Dim principal As New frm_principal
Dim tvidrio As New DataTable
Dim tseparador As New DataTable
Try
If IsNothing(Me.dg_vidrio.DataSource) And IsNothing(Me.dg_separador.DataSource) Then
If Me.principal.v_vidrio_configuracion = False Then
vidrio_configuracion.MdiParent = Me.principal
Me.principal.v_vidrio_configuracion = True
vidrio_configuracion.Show()
Me.principal.sb_estado.Text = "Listo."
Else
Me.principal.sb_estado.Text = "La ventana ya se encuentra abierta."
End If
Else
If Me.principal.v_separador_configuracion = False Then
separador_configuracion.MdiParent = Me.principal
Me.principal.v_separador_configuracion = True
separador_configuracion.Show()
Me.principal.sb_estado.Text = "Listo."
Else
Me.principal.sb_estado.Text = "La ventana ya se encuentra abierta."
End If
End If
Catch ex As Exception
Me.principal.sb_estado.Text = "" & ex.Message
End Try
End Sub
End Class
-----------------------------------------------------------------------------------------------------------------------------------
Public Class frm_item_configuracion
Inherits System.Windows.Forms.Form
Dim principal As frm_principal
Private Sub frm_item_configuracion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Functions.cargar_borde_acabado(Me.cb_borde_superior)
Functions.cargar_borde_acabado(Me.cb_borde_derecho)
Functions.cargar_borde_acabado(Me.cb_borde_inferior)
Functions.cargar_borde_acabado(Me.cb_borde_izquierdo)
Me.txt_boquetes.Text = 0
Me.txt_perforaciones.Text = 0
'Me.txt_item_numero.Text = Integer.Parse(Me.txt_item_numero.Text) + integer.Parse(ingresar_orden.dg_item.Item(ingresar_orden.dg_item.CurrentRowIndex, 0))
End Sub
Private Sub frm_gestion_recibo_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Me.principal.v_item_configuracion = False
End Sub
Private Sub btn_aceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_aceptar.Click
Dim ingresar_orden As New frm_ingresar_orden(Me.principal)
Dim funtions As New Functions
If Me.txt_cantidad.Text <> "" And Me.txt_ancho.Text <> "" And Me.txt_largo.Text <> "" And Me.txt_item_observacion.Text <> "" And Me.txt_boquetes.Text <> "" And Me.txt_perforaciones.Text <> "" Then
Me.dg_item.SetDataBinding(Me.listado_items, "items")
Else
Me.principal.sb_estado.Text = "Debe llenar todos los campos."
End If
End Sub
Public Function listado_items() As DataSet
Dim item_configuracion As frm_item_configuracion
Dim items As DataSet
Dim titems As DataTable
If IsNothing(items) Then
items = New DataSet("items")
Dim cno_item As New DataColumn("No item", GetType(String))
Dim ccantidad As New DataColumn("Cantidad", GetType(String))
Dim cancho As New DataColumn("Ancho", GetType(String))
Dim clargo As New DataColumn("Largo", GetType(String))
Dim cobservacion As New DataColumn("Observacion ", GetType(String))
Dim cboquetes As New DataColumn("Boquetes", GetType(String))
Dim cperforaciones As New DataColumn("Perforaciones", GetType(String))
Dim cborde_superior As New DataColumn("B. Superior", GetType(String))
Dim cborde_derecho As New DataColumn("B. Derecho", GetType(String))
Dim cborde_inferior As New DataColumn("B. Inferior", GetType(String))
Dim cborde_izquierdo As New DataColumn("B. Izquierdo", GetType(String))
titems = New DataTable("items")
titems.Columns.Add(cno_item)
titems.Columns.Add(ccantidad)
titems.Columns.Add(cancho)
titems.Columns.Add(clargo)
titems.Columns.Add(cobservacion)
titems.Columns.Add(cboquetes)
titems.Columns.Add(cperforaciones)
titems.Columns.Add(cborde_superior)
titems.Columns.Add(cborde_derecho)
titems.Columns.Add(cborde_inferior)
titems.Columns.Add(cborde_izquierdo)
items.Tables.Add(titems)
End If
Dim nfila As DataRow
Try
nfila = titems.NewRow
nfila(0) = Integer.Parse(titems.Rows.Count) + 1
titems.Rows.Add(nfila)
titems.Rows(titems.Rows.Count - 1)(1) = Me.txt_cantidad.Text
titems.Rows(titems.Rows.Count - 1)(2) = Me.txt_ancho.Text
titems.Rows(titems.Rows.Count - 1)(3) = Me.txt_largo.Text
titems.Rows(titems.Rows.Count - 1)(4) = Me.txt_item_observacion.Text
titems.Rows(titems.Rows.Count - 1)(5) = Me.txt_boquetes.Text
titems.Rows(titems.Rows.Count - 1)(6) = Me.txt_perforaciones.Text
titems.Rows(titems.Rows.Count - 1)(7) = Me.cb_borde_superior.Text
titems.Rows(titems.Rows.Count - 1)(8) = Me.cb_borde_derecho.Text
titems.Rows(titems.Rows.Count - 1)(9) = Me.cb_borde_inferior.Text
titems.Rows(titems.Rows.Count - 1)(10) = Me.cb_borde_izquierdo.Text
Catch ex As Exception
items.Clear()
Throw ex
End Try
Return items
End Function
End Class
-
Mira no entiendo bien tu codigo, pero si lo que quieres hacer es llenar un DataGrid con datos de otro formulario, lo que puedes hacer es poner los datos de un formulario en un recordset y psarselo por propiedad al otro formulario.
Y llenar la datagrid no es algo tan complicado:
set DataGrid1.DataSource = recordset
-
Mira no entiendo bien tu codigo, pero si lo que quieres hacer es llenar un DataGrid con datos de otro formulario, lo que puedes hacer es poner los datos de un formulario en un recordset y psarselo por propiedad al otro formulario.
Y llenar la datagrid no es algo tan complicado:
set DataGrid1.DataSource = recordset
solcito eso es VB.NET, cerocool mira este es el foro adecuado (http://foros.solocodigo.com/index.php?showforum=53)
-
holas cerocool :)
perdon por no contestar a tiempo, estuve realmente ocupado resolviendo un tema de import a sql todo un dolor de cabeza, mira al ver tu correo vi el codigo ke me enviastes como dice radicale eso es vbNET no he visto mucho ese lenguaje pero puedo decirte como normalmente haria es llenar el grid de destino con codigo asignado a un recordset algo asi como insert into values(..) por medio de sql y luego un refresh al recordset >> recordset.refresh deberia de funcionar porke asi utilizo la mayoria de los recordset ke uso... talvez en la parte donde haces el proceso de llenado "Public Function listado_items() As DataSet" cuando haces esto "titems.Rows(titems.Rows.Count - 1)(1) = Me.txt_cantidad.Text" al final puedes meterlo en refresh al recordset, a mi siempre me funka en esa parte.... (al similar claro esta...!! ) espero te ayude en algo
z4r3th :comp:
PD: gracias por darte tiempo de escribirme y de adicionarme al msm espero ke alli hablemos mejor y talvez compartamos ideas... adios suerte