• Jueves 14 de Noviembre de 2024, 19:05

Autor Tema:  Mostrar Imagen En Un Datagrid  (Leído 2611 veces)

Moy

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Mostrar Imagen En Un Datagrid
« en: Jueves 5 de Mayo de 2005, 15:46 »
0
¿Que tal?
A ver si me podeis echar una mano.

Estoy liado con una página ASP con un Datagrid que debe mostrar imagenes en una de sus columnas.
Uso una base de datos Access para guardar las direcciones de cada imagen, pero a la hora de enlazar el datagrid con el dataset con los datos de la base... No tengo ni idea de como decirle que no me muestre "http://Loquesea.com/Foto.jpg" sino que lo convierta en una imagen.

Seguro que es lo más facil del planeta, pero la cafeina me tiene las neuronas destrozadas y de momento no doy para más.

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Mostrar Imagen En Un Datagrid
« Respuesta #1 en: Jueves 5 de Mayo de 2005, 19:30 »
0
Datagrid??? estas trabajando en InterDev????

Bueno en ASP no hay un objeto DataGrid, lo que si se puede hacer es mostrar los datos en una tabla, y asi aparentar un datagrid. Con ASP.Net si existe el DataGrid, pero al final se muestra HTML puro.

ahora donde muestras "http://Loquesea.com/Foto.jpg"  ahi por codigo deberias tambien imprimir las etiquetas de imagen para que la muestre
ejemplo:

Código: Text
  1.  
  2. <img src="<%=rs.Fields("campoimagen")%>" />
  3.  
  4.  

en el ejemplo anterior rs es el recordset que se esta usando, es solo cambiar que se muestre el resultado pero dentro de la etiqueta img.

Se es que no pudieras cambiearlo muestras el codigo talvez se pueda ver que es lo que hay que cambiar, y explicarte mejor

Salu2
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Moy

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Re: Mostrar Imagen En Un Datagrid
« Respuesta #2 en: Viernes 6 de Mayo de 2005, 10:07 »
0
Vaya... Estoy peor de lo que pensaba.
No sé por qué me dio que ASP solo había uno y en el primero que vi me metí.
En realidad tenía que haberlo puesto en el subforo de ASP.NET, que es con lo que estoy trabajando.
Bueno, ya que estoy continuo.
El Datagrid lo he creado en la ventana de diseño y estoy tratando de crear dos columnas metiendome en las propiedades, porque ponerme a modificarlo en HTML me da muy mal rollo.

Bueno, si no hay más remedio tendré que modificarlo a mano, pero... ¿Como?
Si la descripción de las columnas del datagrid es:
<Columns>
<asp:BoundColumn DataField="URL"</asp:BoundColumn>
<asp:BoundColumn DataField="Descripcion"></asp:BoundColumn>
</Columns>

¿Donde pongo lo de <img src="<%=datos.Fields("URL")%>"/> ?
Entre "URL" y </asp:BoundColumn> parece que no funciona.
El que no sabe es como el que no ve.  :(

Otra cosa, ¿como podría hacer que la imagen se ajustase al tamaño que yo quiera?

[Editado tras varias horas de darse de cabeza contra el Datagrid y la madre que lo trajo al mundo]

Mira, olvidalo. Mejor me voy a pasar al Repeater

Con solo poner en el código:
Repeater1.datasource= Datos 'Que es el dataset cargado con una unica tabla
repeater1.databind()

Y luego meterse a retocarlo poniendo en HTML
<asp:Repeater id="Repeater1" runat="server">
   <ItemTemplate>
   <table>
      <tr bgcolor="#ffcccc">
        <td><img src="<%# DataBinder.Eval(Container.DataItem, "URL") %>" height=120 width=120></td>
        <td><%# DataBinder.Eval(Container.DataItem, "Descripcion") %></td>
      </tr>
      </table>
   </ItemTemplate>
   <AlternatingItemTemplate> 'Esto para que vaya alternando los colores de las filas
   <table>
      <tr bgcolor="#ccff99">
        <td><img src="<%# DataBinder.Eval(Container.DataItem, "URL") %>" height=120 width=120></td>
        <td><%# DataBinder.Eval(Container.DataItem, "Descripcion") %></td>
      </tr>
      </table>
   </AlternatingItemTemplate>
</asp:Repeater>

Y queda que ni pintado, con el tamaño ajustado y todo.
Solo me queda aprender a retocarlo para dejarlo más bonito (y cambiar los colores, que esos son muy pastelosos).

Venga, gracias por vuestra ayuda, y por tener paciencia con un ceporro como yo.  :P