crear datasource desde datarow

22/04/2006 - 16:58 por Juan de la Torre | Informe spam
Hola amigos a ver si podeis hecharme una mano.

Despues de ejecutar getchildrows y guardar las filas hijas que me devuelve
en un datarow(), necesito llenar una tabla con esas filas. Supongo que tendre
que crear un datasource con las filas pero no se como hacerlo, despues de
probar varias opciones. Y tampoco se si esa es la forma mas logica de
hacerlo... si pudierais decirme como enfocar la solucion seria estupendo.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
22/04/2006 - 20:02 | Informe spam
"Juan de la Torre" wrote in
message news:
Despues de ejecutar getchildrows y guardar las filas hijas que me devuelve
en un datarow(), necesito llenar una tabla con esas filas. Supongo que
tendre
que crear un datasource con las filas pero no se como hacerlo, despues de
probar varias opciones. Y tampoco se si esa es la forma mas logica de
hacerlo... si pudierais decirme como enfocar la solucion seria estupendo.



Cuando dices "llenar una tabla", ¿te refieres a un DataTable? En ese caso,
podrías usar un bucle:

Dim dra as DataRow()
dra=... 'Aquí vienen los datos de GetChildRows

Dim dr as DataRow
For Each dr in dra
MiDataTable.Rows.Add(dr)
Next

Si lo que quieres es presentar los datos en pantalla asignándoselos al
DataSource de un DataGrid u otro control similar, entonces hay una forma más
simple: En lugar de partir de un datatable, sacar de él un datarow, y sacar
de él el getchildrows, lo que puedes hacer es crear un dataview al partir
del datatable inicial, seleccionar de él un DataRowView (igual que antes
seleccionabas el DataRow), y a partir del DataRowView hacer un
CreateChildView (igual que antes hacías el GetChildRows). El CreateChildView
te devuelve directamente un DataView, que se lo puedes asignar al DataSource
de cualquier control para sacar los datos a pantalla.
Respuesta Responder a este mensaje
#2 Juan de la Torre
22/04/2006 - 20:25 | Informe spam
Gracias por contestar, igual no me he explicado bien.

Yo ya tengo en un array -->datarow() todas las filas que pertenecen a la
relacion,osea ya tengo ejecutado el getchildrows y hasta ahi bien. Ahora esas
filas hijas que tengo en el array quiero visualizarlas en un datagrid. Con
lo cual necesito crear un dataset. Hay esta el problema como puedo hacer para
convertir ese array de filas en un dataset para pasarselo al datagrid como
fuente de datos. Por eso decia tambien que si hay alguna forma mas elegante o
simple de hacerlo.

agradecido por tu paciencia.

"Alberto Poblacion" wrote:

"Juan de la Torre" wrote in
message news:
> Despues de ejecutar getchildrows y guardar las filas hijas que me devuelve
> en un datarow(), necesito llenar una tabla con esas filas. Supongo que
> tendre
> que crear un datasource con las filas pero no se como hacerlo, despues de
> probar varias opciones. Y tampoco se si esa es la forma mas logica de
> hacerlo... si pudierais decirme como enfocar la solucion seria estupendo.

Cuando dices "llenar una tabla", ¿te refieres a un DataTable? En ese caso,
podrías usar un bucle:

Dim dra as DataRow()
dra=... 'Aquí vienen los datos de GetChildRows

Dim dr as DataRow
For Each dr in dra
MiDataTable.Rows.Add(dr)
Next

Si lo que quieres es presentar los datos en pantalla asignándoselos al
DataSource de un DataGrid u otro control similar, entonces hay una forma más
simple: En lugar de partir de un datatable, sacar de él un datarow, y sacar
de él el getchildrows, lo que puedes hacer es crear un dataview al partir
del datatable inicial, seleccionar de él un DataRowView (igual que antes
seleccionabas el DataRow), y a partir del DataRowView hacer un
CreateChildView (igual que antes hacías el GetChildRows). El CreateChildView
te devuelve directamente un DataView, que se lo puedes asignar al DataSource
de cualquier control para sacar los datos a pantalla.



Respuesta Responder a este mensaje
#3 Alberto Poblacion
22/04/2006 - 20:54 | Informe spam
"Juan de la Torre" wrote in
message news:
Gracias por contestar, igual no me he explicado bien.

Yo ya tengo en un array -->datarow() todas las filas que pertenecen a la
relacion,osea ya tengo ejecutado el getchildrows y hasta ahi bien. Ahora
esas
filas hijas que tengo en el array quiero visualizarlas en un datagrid.
Con
lo cual necesito crear un dataset. Hay esta el problema como puedo hacer
para
convertir ese array de filas en un dataset para pasarselo al datagrid como
fuente de datos. Por eso decia tambien que si hay alguna forma mas
elegante o
simple de hacerlo.



Pues eso decía, que sí que hay una forma más elegante, que consiste en
que EN LUGAR DE utilizar GetChildRows utilices CreateChildView, que se usa
casi igual, pero tiene la ventaja de que el resultado se lo puedes asignar
directamente al DataGrid como fuente de datos.

Si no quieres usar CreateChildView, y quieres mantener el GetChildRows que
ya tienes, entonces puedes usar un bucle como el que te he puesto en el
mensaje anterior para copiar el array a un DataTable, y luego asignar el
DataTable al DataGrid como fuente de datos. Pero a mi me parece que esto es
menos elegante que la primera solución.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida