Como cargar un objeto desde un datarow???

15/02/2006 - 10:09 por Joaquin Pelayo Bedia | Informe spam
Hola,

Tengo el siguiente problema:

Un objeto (de tipo generico) osea un objeto, que tiene X propiedades la
cuales corresponden con los Datacolumn de una Tabla. Quiero crear una
funcion que carge los valores a dicho objeto, pero no veo la forma de
hacerlo, alguna idea??

Por ejemplo:

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)

For Each columna As DataColumn In dr.Table.Columns

Objeto.[columna.ColumnName] = dr.Item(columna.ColumnName)

Next

End Sub

Muchas gracias

Joaquin Pelayo

Preguntas similare

Leer las respuestas

#1 A.Poblacion
15/02/2006 - 14:30 | Informe spam
"Joaquin Pelayo Bedia" <joapel??@terra.es> wrote in message
news:
Un objeto (de tipo generico) osea un objeto, que tiene X propiedades la
cuales corresponden con los Datacolumn de una Tabla. Quiero crear una
funcion que carge los valores a dicho objeto, pero no veo la forma de
hacerlo, alguna idea??

Por ejemplo:

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
For Each columna As DataColumn In dr.Table.Columns
Objeto.[columna.ColumnName] = dr.Item(columna.ColumnName)
Next
End Sub



Tendrás que usar System.Reflection para obtener las propiedades del
objeto y luego hacer un SetValue sobre cada una de ellas. Algo parecido a lo
siguiente:

Imports System.Reflection

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
Dim t as Type = Objeto.GetType()
For Each columna As DataColumn In dr.Table.Columns
Dim p as PropertyInfo = t.GetProperty(columna.ColumnName)
p.SetValue(Objeto, dr.Item(columna.ColumnName), Nothing)
Next
End Sub
Respuesta Responder a este mensaje
#2 Joaquin Pelayo Bedia
15/02/2006 - 19:14 | Informe spam
Asi me ha funcionado perfectamente, muchas gracias.

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
Dim tipo As Type = Objeto.GetType
Dim propiedades As System.Reflection.PropertyInfo() tipo.GetProperties()
For Each propiedad As System.Reflection.PropertyInfo In propiedades
Try
propiedad.SetValue(Objeto, dr.Item(propiedad.Name), Nothing)
Catch ex As Exception
End Try
Next
End Sub

"A.Poblacion" escribió en
el mensaje news:
"Joaquin Pelayo Bedia" <joapel??@terra.es> wrote in message
news:
> Un objeto (de tipo generico) osea un objeto, que tiene X propiedades la
> cuales corresponden con los Datacolumn de una Tabla. Quiero crear una
> funcion que carge los valores a dicho objeto, pero no veo la forma de
> hacerlo, alguna idea??
>
> Por ejemplo:
>
> Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
> For Each columna As DataColumn In dr.Table.Columns
> Objeto.[columna.ColumnName] = dr.Item(columna.ColumnName)
> Next
> End Sub

Tendrás que usar System.Reflection para obtener las propiedades del
objeto y luego hacer un SetValue sobre cada una de ellas. Algo parecido a


lo
siguiente:

Imports System.Reflection

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
Dim t as Type = Objeto.GetType()
For Each columna As DataColumn In dr.Table.Columns
Dim p as PropertyInfo = t.GetProperty(columna.ColumnName)
p.SetValue(Objeto, dr.Item(columna.ColumnName), Nothing)
Next
End Sub




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida