Visual Basic.NET - Cargar Combo en funcion de los datos de otro combo

 
Vista:

Cargar Combo en funcion de los datos de otro combo

Publicado por Toni (47 intervenciones) el 22/03/2007 09:16:25
Tengo dos combos, El primero se llena con las categorias
El segundo con las subcategorias (en funcion del primer combo)

Como lo puedo hacer???

Muchas gracias
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:Cargar Combo en funcion de los datos de otro co

Publicado por jesus (1 intervención) el 22/03/2007 14:52:07
En un principio deberías responder al evento selectindexChanged del primero de los combos. En la función que de respuesta a este evento obtén el valor seleccionado a través del selectitem.value del combo y pasa este valor como filtro a tu origen de datos. Con los datos obtenidos de esta consulta carga el segundo combo.
Espero ser util
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:Cargar Combo en funcion de los datos de otro co

Publicado por huguin (83 intervenciones) el 22/03/2007 15:00:15
en el evento seletedIndexChange del combo categorias...!

ejeculta tu consulta que llena datos al combo Subcategorias debes de pasarle como parametro el idcategoria seleccionado para que si seleccionas una categoria en el segudo combo se llenen las subdategorias de la categoria seleccionada

seria algo asi

subcategoria.datasource= objListas.LlenarSubcategoria(categoria.selectedItem("idcategoria"))

Ojo objListas.LlenarSubcategoria tienes que reemplazarlo por tu dataset o datatable que llena el combo subcategoria y le pasas como parametro el id de la categoria.
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:Cargar Combo en funcion de los datos de otro co

Publicado por Toni (47 intervenciones) el 23/03/2007 11:22:56
Gracias por contestar, he provado vuestro codigo y me pasa el siguente:

En el fromload tengo el siguiente codigo:

Dim Adaptador1 As New SqlDataAdapter("SELECT Id, NomCategoria From Categoria Order By Id", conString.conString)

dt1 = New DataTable

Adaptador1.Fill(dt1)

cmbcat.DataSource = dt1
cmbcat.DisplayMember = dt1.Columns("NomCategoria").ToString
cmbcat.ValueMember = dt4.Columns("Id").ToString
....

Private Sub cmbcat_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbcat.SelectedIndexChanged

Dim Adaptador2 As New SqlDataAdapter("SELECT Id, NomSubCategoria FROM SubCategoria WHERE Categoria = " & cmbcat.SelectedValue & " ORDER BY Id", conString.conString)

dt2 = New DataTable
cmbsubcat.DataSource = dt3
cmbsubcat.DisplayMember = dt3.Columns("NomSubCategoria").ToString
cmbsubcat.ValueMember = dt3.Columns("Id").ToString
End Sub

Ejecutando en modo depuracion cuando llega a:
cmbcat.ValueMember = dt4.Columns("Id").ToString
sale un error:

Cast from type 'DataRowView' to type 'String' is not valid
Pero si pongo en comentario el cmbcat_SelectetIndexChanged funciona de maravilla

No lo entendio..

Muchas gracias por vuestra ayuda
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:Cargar Combo en funcion de los datos de otro co

Publicado por Hugin (83 intervenciones) el 23/03/2007 14:59:06
i claro que te va salir un error porque
fijate que para llenar datos en catedogiras estas usando datable dt1

cmbcat.DataSource = dt1
cmbcat.DisplayMember = dt1.Columns("NomCategoria").ToString

' tu error esta en la sigueitne linea dt4 ?
cmbcat.ValueMember = dt4.Columns("Id").ToString

esta parte deberia estar asi...?

cmbcat.DataSource = dt1
cmbcat.DisplayMember = dt1.Columns("NomCategoria").ToString
cmbcat.ValueMember = dt1.Columns("Id").ToString
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