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

Seleccion en combobox

Estas en el tema de Seleccion en combobox en el foro de .NET en Foros del Web. Hola amigos, esto trabajando en vbnet y tengo una dudilla, espero podais ayudarme, tengo un formulario con un combobox y ahí cargo el contenido de ...
  #1 (permalink)  
Antiguo 02/01/2011, 12:57
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Seleccion en combobox

Hola amigos, esto trabajando en vbnet y tengo una dudilla, espero podais ayudarme, tengo un formulario con un combobox y ahí cargo el contenido de una tabla, quiero que cuando selecciono una opción del combo se carguen en un datagridview los productos correspondientes, pensando que tengo una tabla que es; Familiasproducto y otra Productos unidas por un campo que se llama NFamProd en familias dónde un número indica que número de familia es y otro campo en productos que es NFamilia que indica el número de la familia a la que corresponde ese producto, os mando el código del combo...gracias...


Private Sub frmAltaProductos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cargar_combo()
End Sub
Public Sub cargar_combo()

conexion.ConnectionString = "Data Source=.\SQLEXPRESS11;AttachDbFilename=C:\VISUAL\T pvVigoSe\TpvVigo\Tpv.mdf;" & _
"Integrated Security=True;" & _
"Connect Timeout=30;" & _
"User Instance=True"

Dim adaptador As New SqlDataAdapter("Select NombreFamilia From FamiliasProducto ORDER BY OrdenFamilia ASC", conexion)

'Dim midataset As New DataSet


adaptador.Fill(midataset, "FamiliasProducto")


ComboBox1.DataSource = midataset.Tables("FamiliasProducto")
ComboBox1.DisplayMember = "NombreFamilia"
'ComboBox1.ValueMember = "Orden"

End Sub
  #2 (permalink)  
Antiguo 02/01/2011, 13:34
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Seleccion en combobox

mando más código...pero no me da salido

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

Try
codigo = Convert.ToInt32(ComboBox1.SelectedValue)
Catch ex As InvalidCastException

Exit Sub

End Try

Dim a As Integer = New Integer

Dim adaptador As New SqlDataAdapter("Select Producto From Productos Where NFamilia= " & codigo, conexion)

'aquí cargo el dataset con la tabla deseada y lo cargo con fill
midataset.Tables("Productos").Clear()
adaptador.Fill(midataset.Tables("Productos"))
If DgLista.DataMember = "" Then
DgLista.DataMember = "Productos"

End If
End Sub
Public Sub cargargrid()

conexion.ConnectionString = "Data Source=.\SQLEXPRESS11;AttachDbFilename=C:\VISUAL\T pvVigoSe\TpvVigo\Tpv.mdf;" & _
"Integrated Security=True;" & _
"Connect Timeout=30;" & _
"User Instance=True"


'aquí cargo la estética del datagrid
DgLista.DefaultCellStyle.SelectionBackColor = Color.Gold
DgLista.AlternatingRowsDefaultCellStyle.BackColor = Color.Khaki
DgLista.DefaultCellStyle.BackColor = Color.Beige
DgLista.RowTemplate.Height = 20
DgLista.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells

'aquí cargo el datasource y el datamenber del datagrid
DgLista.DataSource = midataset.Tables("Productos")

End Sub
End Class
  #3 (permalink)  
Antiguo 03/01/2011, 09:17
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Seleccion en combobox

Hola trata con algo similar a lo siguiente:

En tu evento SelectedIndexChanged de tu combobox.

Código vb:
Ver original
  1. '-- Asigno parámetros de conexión
  2.        objConn = New SqlConnection(MiConexion.StrConexion)
  3.  
  4.         '-- Declaro una variable tipo BindingSource para enlazar mi DataTable a mi DataGridView
  5.        Dim source1 As New BindingSource()
  6.  
  7.         '-- Creo un DataTable
  8.        Dim MiDataTable As New DataTable
  9.  
  10.         '-- Declaro una variable tipo SqlDataAdapter
  11.        Dim CustomerTableAdapter As SqlDataAdapter
  12.  
  13.         Try
  14.             '-- Abro la conexión
  15.            objConn.Open()
  16.  
  17.             '-- Creo un nuevo SqlDataAdapter pasándoles la Instrucción SQL y mi objeto Conexión
  18.            CustomerTableAdapter = New SqlDataAdapter(SQL_Productos, objConn)
  19.  
  20.             '-- Lleno mi DataTale
  21.            CustomerTableAdapter.Fill(MiDataTable)
  22.  
  23.             '-- Asigo mi DataTable a mi source
  24.            source1.DataSource = MiDataTable
  25.  
  26.             '-- Asigno mi source a mi DataGridView
  27.            Me.dgvProductos.DataSource = source1
  28.  
  29.             '-- Hago el Filtrado por medio del nombre del producto con respecto a lo que se           'escriba en el TextBox
  30.            source1.Filter = "producto LIKE '%" & ComboBox1.Text & "%'"
  31.             '-- Cierro la conexión
  32.            objConn.Close()
  33.  
  34. Catch ex As Exception
  35.     MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
  36.     objConn.Close()
  37. End Try

Obviamente que lo tienes que adaptar a tus necesidades, es decir, en la linea source1.Filter tu no utilizaras el like ya que tu código es un Integer.

Espero y te sirva, Saludos!
__________________
http://ka0stj.wordpress.com/
  #4 (permalink)  
Antiguo 03/01/2011, 13:40
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Seleccion en combobox

ok, voy a probarlo, muchas...muchas gracias
  #5 (permalink)  
Antiguo 03/01/2011, 14:23
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Seleccion en combobox

nada, al final lo arreglé así, lo dejo pa quien le valga...abrazoooossss

Public Sub cargar_combo()

conexion.ConnectionString = "Data Source=.\SQLEXPRESS11;AttachDbFilename=C:\VISUAL\T pvVigoSe\TpvVigo\Tpv.mdf;" & _
"Integrated Security=True;" & _
"Connect Timeout=30;" & _
"User Instance=True"

Dim adaptador As New SqlDataAdapter("Select NombreFamilia,IdF From FamiliasProducto ORDER BY OrdenFamilia ASC", conexion)

'Dim midataset As New DataSet


adaptador.Fill(midataset, "FamiliasProducto")


ComboBox1.DataSource = midataset.Tables("FamiliasProducto")
ComboBox1.DisplayMember = "NombreFamilia"
ComboBox1.ValueMember = "IdF"

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

Dim codigo As Integer

Try
codigo = Convert.ToInt32(ComboBox1.SelectedValue)
Catch ex As InvalidCastException

Exit Sub

End Try

Dim a As Integer = New Integer

Dim adaptadorcombo As New SqlDataAdapter("Select Producto From Productos Where NFamilia= " & codigo, conexion)

'aquí cargo el dataset con la tabla deseada y lo cargo con fill
midatasetproductos.Clear()
adaptadorcombo.Fill(midatasetproductos, "Productos")
If DgLista.DataMember = "" Then
DgLista.DataMember = "Productos"

End If


End Sub

Etiquetas: combobox, seleccion
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 19:58.