Foros del Web » Programando para Internet » ASPX (.net) »

Imágen desde BD en GridView

Estas en el tema de Imágen desde BD en GridView en el foro de ASPX (.net) en Foros del Web. He visto que el problema para mostrar un foto de una base de datos en un gridview es que si está en formato system.bytes[] no ...
  #1 (permalink)  
Antiguo 16/05/2007, 16:49
 
Fecha de Ingreso: mayo-2007
Mensajes: 3
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta Imágen desde BD en GridView

He visto que el problema para mostrar un foto de una base de datos en un gridview es que si está en formato system.bytes[] no se puede enlazar directamente para que la muestre...Hablo de la bd de prueba AdventureWorks...


Entonces ahora he conseguido convertir la imagen a system.drawing.bitmap, y comprobado que la cojo porque he probado a grabarlas en disco y ahi están...

Ahora como la muestro en el gridview?? Será lo más fácil, pero es que he probado y no...

El campo ImageField del gridview usa DataImageUrlField donde hay que especificar la ruta de la imágen. En la bd sólo hay un campo que indica el nombre de la imagen pero no su ruta y luego el mencionado archivo de bytes que es la imágen en sí...


A lo mejor ni siquiera van por aqui los tiros...

A ver si alguien me ayuda! Muchas gracias!
  #2 (permalink)  
Antiguo 17/05/2007, 01:56
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: Imágen desde BD en GridView

Una forma es añadir ese control bitmap que has creado a la celda del gridview. Lo puedes hacer en el evento OnItemDataBound. Las celdas tienen la propiedad controls y ésta a su vez Add con la que puedes añadir cualquier control dentro de la misma.

Un saludo
  #3 (permalink)  
Antiguo 18/05/2007, 05:48
 
Fecha de Ingreso: mayo-2007
Mensajes: 3
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Imágen desde BD en GridView

Hola de nuevo, gracias por contestar.

No lo he conseguido, me explico, lo que había hecho era convertir la imágen de la bd que estaba en formato system.byte[] al formato bitmap. No que hubiera hecho un control bitmap.

Por tanto no puedo añadir dicho bitmap a través de ...cells(4).controls.add

Lo que tengo hecho es:

dr = cmd.ExecuteReader
dt.Load(dr)
Me.GridView1.DataSource = dt
Me.GridView1.DataBind()

Y es en la celda 4 donde debería mostrarse la foto de la bd que como digo sólo acepta la Url de la imágen, y en la bd no hay un campo con dicha url, solo con el nombre de la imágen y la imágen en sí...


Buff, ando perdido...por que no habran puesto en el gridview un campo que acepte imágenes directamente de una base de datos...
  #4 (permalink)  
Antiguo 21/05/2007, 02:01
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: Imágen desde BD en GridView

No sé si te valdrá pero aquí hay un ejemplo, es una forma de hacerlo, luego tu puedes adaptarlo a tus necesidades:

http://www.forosdeinformatica.com/in...g82.html#msg82

Un saludo
  #5 (permalink)  
Antiguo 21/05/2007, 15:03
 
Fecha de Ingreso: mayo-2007
Mensajes: 3
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Imágen desde BD en GridView

Bien, solucionado!

Al final he usado otra página aspx como puente para sacar la foto de la BD, pasándo a ésta el id de la foto (Request.QueryString("id")) y que la devolviera a la que tiene el Gridview directamente en una dataRow:

Dim conType As String = "Image/GIF"
Response.ContentType = conType
Response.OutputStream.Write(ArrayFotos, 0, tamañoFoto)
Response.End()


Muchas gracias de todas formas!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.