Ayuda CreateChildView

23/04/2006 - 19:10 por Juan de la Torre | Informe spam
Hola de nuevo
Hace unas horas cerre un post creyendo que ya habia solucionado el problema
pero no es asi. Alberto Poblacion me da la idea para mi aplicacion que
verdaderamente es limpia y elegante con dataview y createchildview pero
despues de varias horas de pruebas no soy capaz de hacerlo funcionar. Mi
aplicacion hace lo siguiente: Tengo un dataset con dos tablas relacionadas.
Una tabla es de Provincias y otra de Poblaciones. Tengo un combo donde cargo
las provincias con un dataview para que me salgan ordenadas y un datagrid
donde cargo las poblaciones relacionadas con la provincia seleccionada. Pero
no soy capaz de hacerlo funcionar si conoceis algun tuto o algun sitio donde
pueda hechar un vistazo os estare agradecido. He mirado otro post que he
encontrado en el foro de Visual basic . net que es algo asi:
Dim vista1 as DataView = dbdataset.Tables("masclientes").DefaultView
Dim fila As DataRowView = vista1(1)
Dim vista2 as DataView = fila.GetChildView(relacionclientes)
datagrid1.datasource = vista2

que porcierto es de Alberto Poblacion tambien, pero no se por donde cogerlo.
Gracias por vuestra paciencia
 

Leer las respuestas

#1 Alberto Poblacion
23/04/2006 - 21:28 | Informe spam
"Juan de la Torre" wrote in
message news:
Hace unas horas cerre un post creyendo que ya habia solucionado el
problema
pero no es asi. Alberto Poblacion me da la idea para mi aplicacion que
verdaderamente es limpia y elegante con dataview y createchildview pero
despues de varias horas de pruebas no soy capaz de hacerlo funcionar. Mi
aplicacion hace lo siguiente: Tengo un dataset con dos tablas
relacionadas.
Una tabla es de Provincias y otra de Poblaciones. Tengo un combo donde
cargo
las provincias con un dataview para que me salgan ordenadas y un datagrid
donde cargo las poblaciones relacionadas con la provincia seleccionada.
Pero
no soy capaz de hacerlo funcionar [...]



Ok, vamos por partes.
Si el combo de provincias lo cargas con un DataView, entonces tendrás
algo parecido a esto:

Dim dvProvincias as DataView
...
cmbProvincias.DataSource = dvProvincias

Supongo que quieres cargar el grid de poblaciones cuando cambien la
selección del combo, asi que en el SelectedIndex_Changed pondrás algo
parecido a esto:

Dim drv as DataRowView = dvProvincias(cmbProvincias.SelectedIndex)

Este datarowview representa la fila que te han seleccionado en el
dataview de provincias.
Ahora queremos la vista hija, que vamos a obtener con el
CreateChildView:

Dim dvPoblaciones as DataView
dvPoblaciones = drv.CreateChildView("NombreDelDataRelation")

Y ahora solo tienes que asignar esta vista como origen de datos del
grid:

grdPoblaciones.DataSource = dvPoblaciones


Y eso es todo, si la aplicación es un WinForm. Si es Web habrá que
añadir, como es lógico, el correspondiente DataBind().

Preguntas similares