Visual Basic.NET - Enlazar 3 ComboBox con datos relacionados de BD2

   
Vista:

Enlazar 3 ComboBox con datos relacionados de BD2

Publicado por Jesus Bautista (3 intervenciones) el 02/07/2008 20:06:09
Elvis
pues como decia apenas estoy comenzando a aprender, pero por lo que leido lo estoy haciendo en un ecenario desconectado.

Osea lo hago de esta menera solo para 2 combos:

en el evento Load, cargo las tablas Articulo, Marcas y Modelos y lleno un Dataset y creo un DataRelation Del DataSet con los campos relacionados(Articulos-Marcas).

Para Cargar el ComboBox de Articulos lo hago agregando los item por el metodo Row de la Tabla Articulos con un For Each.

y para obtener la reacion

En el evento SelctedChange(Cuado seleccione Articulo)
creo unas variables FilasPadre y FilasHijo
donde enFilasPadre Ontengo los datos de la tabla Articulos
en FilasHijo obtengo el DataRelation de las tablas con el M GetChildren

y luego lleno el Combo de Marcas con las filas obtenidas.

No tengo el codigo a la mano y hay algunas cosas que no me acuerdo pero si es necesario lo pondré.

Pues asi lo e implementado, y no me importaria si es en entorno conectado o desconectado; si hay alguna forma de hacerlo para 3 combos seria bueno.
Gracias y de nuevo por la yuda.
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: Enlazar 3 ComboBox con datos relacionados de B

Publicado por Elvis Alberto (19 intervenciones) el 02/07/2008 22:05:50
es un ejemplo que saque del libro de Luis Miguel Blanco... Nota que el saca las filas hijas en el evento SelectedIndexChanged..
podes repetir el proceso con el tercer combo box cuan se dispara el evento SelectedIndexChanged del segundo
Ya habia probado esto y funcionaba bien...
Private Sub cboCustomers_SelectedIndexChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles cboCustomers.SelectedIndexChanged
' limpiar los valores del listbox
Me.lstOrders.Items.Clear()
Dim drFilaPadre As DataRow
' obtener la fila de la tabla maestra: Customers
drFilaPadre = oDataSet.Tables("Customers").Rows(Me.cboCustomers.SelectedIndex)
Dim drFilasHijas() As DataRow
' obtener las filas hijas de la tabla Orders,
' gracias a la relación Customers-Orders
drFilasHijas = drFilaPadre.GetChildRows("Customers_Orders")
Dim drFila As DataRow
' rellenar el listbox con valores de las filas hijas
For Each drFila In drFilasHijas
Me.lstOrders.Items.Add(drFila("CustomerID") & _
"-" & drFila("OrderID") & _
"-" & drFila("OrderDate"))
Next
End Sub

Saludos espero haya sido de 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