Foros del Web » Programación para mayores de 30 ;) » .NET »

como llenar un datagrtid

Estas en el tema de como llenar un datagrtid en el foro de .NET en Foros del Web. saludos después de mucho intentar e visto como hacer una conexión sencilla Xd el problema que me acongoja ahora es que no se como llenar ...
  #1 (permalink)  
Antiguo 09/02/2011, 19:11
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 16 años, 2 meses
Puntos: 2
Pregunta como llenar un datagrtid

saludos después de mucho intentar e visto como hacer una conexión sencilla Xd
el problema que me acongoja ahora es que no se como llenar un datagrid manual mente alguien me puede echar la mano por favor
les dejo el codigo de lo que llevo hasta ahora la verdad no se como hacerlo.

Cita:
Private Sub btnguardar2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnguardardetalleproductos.Click
Using ConSQL As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\pollos.mdb")
ConSQL.Open()
'recuperar el valor de la lista
Dim proc As DataRowView = ltsproducto.SelectedItem
Dim idpr As String = proc.Row(0).ToString
Dim cant As Integer = txtcantidad2.Text
Dim idp As Integer = Convert.ToInt32(idpaq.Text)
Dim preciop As Decimal
Dim consulta As String = "select precio from cat_productos where idproducto = " + idpr + ""
Dim ejecucion As New OleDbCommand(consulta, ConSQL)
Dim precio As Integer = CInt(ejecucion.ExecuteScalar())
'productos del paquete actual | consulta para el datagrid
Dim consulta2 As String = "select a.producto,b.cantidad,a.precio from cat_productos as a join detalle_paquete as b on a.idproducto = b.idproducto where idpaquete = " + idp + ""
Dim ProductosPaquete As New DataSet
Dim ejecucion2 As New OleDbCommand(consulta2, ConSQL)
'ProductosPaquete = ejecucion2 | apartir de aqui no se que mas hacer

If (preciop = "") Then
'actualisar el precio del paquete
preciop = precio
preacmulado.Text = Convert.ToDecimal(preciop)
Else
preciop = preciop + precio
preacmulado.Text = Convert.ToDecimal(preciop)
End If

'insertamos el nuevo producto
Dim insprocdetll = ConDetallePaquetes.InsProductoPaquete(idp, idpr, cant)
'se acutalisan los productos de los paques
Me.ConDetallePaquetes.Fill(Me.Conexion.Detalle_Paq uetes)
txtcantidad2.Text = ""
ConSQL.Close()
End Using
End Sub
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores
  #2 (permalink)  
Antiguo 11/02/2011, 12:34
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 9 meses
Puntos: 37
Respuesta: como llenar un datagrtid

Hola Esfinge02

Llemarlo manualmente lo entenderia sin conexión a una base de datos necesariamente. Te refieres a eso ó mediante una consulta?

Saludos!
__________________
http://ka0stj.wordpress.com/
  #3 (permalink)  
Antiguo 11/02/2011, 15:35
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 18 años, 5 meses
Puntos: 4
Respuesta: como llenar un datagrtid

Esto es lo que hago yo:

1-En la form (frmOrdenTemplado) donde vas a llenar tu datagrid manual tengo:

Código:
Public dt As New DataTable

'Variable pública.
    Private Shared ChildInstance As frmOrdenTemplado = Nothing

    'controla que sólo exista una instancia del formulario.
    Public Shared Function Instance() As frmOrdenTemplado
        If ChildInstance Is Nothing OrElse ChildInstance.IsDisposed = True Then
            ChildInstance = New frmOrdenTemplado
        End If
        ChildInstance.BringToFront()

        Return ChildInstance
    End Function

En el evento LOAD de la form ejecuto CrearTabla

Código:
Public Sub CrearTabla()

        Dim frmOrdenTemplado As frmOrdenTemplado = frmOrdenTemplado.Instance

        frmOrdenTemplado.dt.Columns.Add(New DataColumn("CodOrdTrabajoTemplado", GetType(Integer)))
        frmOrdenTemplado.dt.Columns.Add(New DataColumn("Cantidad", GetType(Integer)))
  

    End Sub
Y luego en algun evento por ejemplo el usuario apreta AGREGAR llamo LlenarTabla

Código:
 Public Sub LlenarTabla(ByVal Codigo, ByVal Cantidad)

        Dim frmOrdenTemplado As frmOrdenTemplado = frmOrdenTemplado.Instance

        Dim dr As DataRow

        dr = frmOrdenTemplado.dt.NewRow()
        dr("CodOrdTrabajoTemplado") = Codigo
        dr("Cantidad") = Cantidad
        frmOrdenTemplado.dt.Rows.Add(dr)

        Return

    End Sub
Finalmente lo asigno al datagridview ejecutando:

Código:
Public Function LlenarGridItems(ByVal Grid As DataGridView, ByVal dt As DataTable)

        'llena un grid con un datatable

        'Llenar y asignar datasource la datagridview
        'da.Fill(dt)
        Grid.DataSource = dt

        'Actualizo total registros
        'CantidadRegistros = dt.Rows.Count

        Return Nothing

    End Function
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #4 (permalink)  
Antiguo 11/02/2011, 17:27
Avatar de Esfinge02  
Fecha de Ingreso: septiembre-2008
Ubicación: Cd. Victoria Tam
Mensajes: 162
Antigüedad: 16 años, 2 meses
Puntos: 2
Información Respuesta: como llenar un datagrtid

gracias por sus aportes la verdad me tarde un rato pero encontré un forma de aserlo a continuación les dejo el código para que me den su opinión.

Cita:
Using ConSQL As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\pollos.mdb")
ConSQL.Open() 'abrimos la conexion
'productos del paquete actual | consulta para el datagrid
Dim consultap As New OleDbDataAdapter("SELECT a.IdProducto as Numero, a.Producto, b.Cantidad, a.Precio,b.Precio FROM(Cat_Productos as a INNER JOIN Detalle_Promociones as b ON a.IdProducto = b.IdProducto) where idpromocion = " + Idpromocio + "", ConSQL)
Dim ppp As New DataSet
consultap.Fill(ppp, "0")
'se acutalisan los productos de los paques
With dgvProductosPromocioes
.DataSource = ppp.Tables(0)
.RefreshEdit()
End With
ConSQL.Close()
End Using
solo puse parte del código si lo quieren ver completo díganme, aun que eso es lo que se requiere
__________________
La ignorancia es una bendición o un privilegio, yo lo siento programadores

Etiquetas: llenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:32.