Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Como lleno mi datagridview con el registro de mi combo en el cual estan dos registros (http://www.forosdelweb.com/f29/como-lleno-mi-datagridview-con-registro-mi-combo-cual-estan-dos-registros-568776/)

seroliner 24/03/2008 13:32

Como lleno mi datagridview con el registro de mi combo en el cual estan dos registros
 
Hola!
tengo un problema, estoy trabajando en Visual Basic .NET

Mi problema es el siguiente:
Lleno un combobox con tres registros que traigo de mi base de datos ("Acces"), quiero que al seleccionar el registrode mi combo me llene un datagridview con los campos de este (nombre, marca, presentacion, etc.).

Este es parte de mi codigo, en el cual lleno mi combo:

Private Sub Ventas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Laboratorio.mdB"
cn.Open()
Using cmd As New OleDbCommand("Select ART_NOMBRE, ART_MARCA, ART_PRESENTACION from ARTICULOS ORDER BY ART_NOMBRE", cn)

Dim dr As OleDbDataReader
dr = cmd.ExecuteReader
While dr.Read
combo_articulos.Items.Add(dr(0) & " - " & dr(1) & " - " & dr(2))
End While
End Using
Using DA As New OleDbDataAdapter("Select * from ARTICULOS", cn)
DA.Fill(tabla)
DataGridView.DataSource = tabla
End Using

End Sub

jlbautista 25/03/2008 14:22

Re: Como lleno mi datagridview con el registro de mi combo en el cual estan dos regis
 
Imagino q necesitas algo asi:
* Si seleccionas el primer valor de tu combo, el Grid se llene con los datos referentes a esos valores?
* Conforme cambies la selección de tu combo, cambien los valores del Grid?

Sería cuestión de q uses el .SelectedIndexChanged de tu combo para q dependiendo del valor seleccionado le asignes el DataSource filtrado a tu Grid.

seroliner 27/03/2008 18:21

Re: Como lleno mi datagridview con el registro de mi combo en el cual estan dos regis
 
Hola
cuando selecciono un registro de combo, se despligan los datos de esté en un datagrid, ahí no hay problema.

Mi problema se presenta cuando lleno mi combo con tres campos:

combo_articulos.Items.Add(dr(0) & " - " & dr(1) & " - " & dr(2))

cuando quiero pasar en datagrid los campos del registro seleccionado no me sale

ya ocupe la propiedad que me comentaste, pero sigo sin resultado. Espero me puedas y me puedan ayudar, soy nuevo en esto.

Gracias

jlbautista 27/03/2008 22:23

Re: Como lleno mi datagridview con el registro de mi combo en el cual estan dos regis
 
Por partes, mi buen.
Cuando das doble click sobre tu ComboBox en modo DISEÑO, te aparece automáticamente en código algo como:
Código:

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    End Sub

Dentro de este, podrás programar lo q desees q ocurra al cambiar la selección en tu ComboBox.
El ComboBox tiene ciertas propiedades q puedes usar: SelectedIndex, SelectedItem, SelectedText, SelectedValue.
Podrias hacer algo así:
Código:

        Dim strTemp As String() = ComboBox1.SelectedText.Split("-"c)
Esto te guarda en un arreglo de Strings (strTemp()) los valores de tu selección, de acuerdo al Texto, separando los elementos por el caracter "-", quedándote 3 elementos a los q puedes acceder por su índice dentro del arreglo (strTemp(0), strTemp(1)...)
Ya con eso, podrás mandarlos como parámetros a tu Query para usarlos en el filtro de tu Grid
Código:

    Using DA As New OleDbDataAdapter("Select * from ARTICULOS where ART_NOMBRE = ' " & strTemp(0) & " '  and ART_MARCA = ' " & strTemp(1) & " ' " etc etc, cn)
Espero q te sirva esta info, por aqui andamos


La zona horaria es GMT -6. Ahora son las 11:27.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.