Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cintia_Ribeiro

[Resolvido] GridView com img

Recommended Posts

Galera, to tentando criar uma paginação com gridview, na verdade eu consegui criar o problema é que quero que esse grid mostre as imagens onde o endereço está gravado no banco de dados...Como faço para que o gride peque essas imagens?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o godigo html fica dessa forma

 


<th scope="col">img</th><th scope="col"> </th>

	</tr><tr>

		<td>c:\img\treinopalmeiras.jpg</td><td><img src="" style="border-width:0px;" /></td>

	</tr><tr>

		<td>c:\img\bandeirabrasil.jpg</td><td><img src="" style="border-width:0px;" /></td>

	</tr><tr>

		<td>c:\img\bandeiracorinthians.jpg</td><td><img src="" style="border-width:0px;" /></td>

	</tr><tr>

 

o src da imagem simplesmente vazio

Compartilhar este post


Link para o post
Compartilhar em outros sites
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="paginacao.aspx.cs" Inherits="paginacao" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title>Untitled Page</title>
</head>
<body>
   <form id="form1" runat="server">
   <div>

       <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
           DataSourceID="ObjectDataSource1">
           <Columns>
               <asp:BoundField DataField="img" HeaderText="img" SortExpression="img" />
               <asp:ImageField DataImageUrlField="img">
               </asp:ImageField>
           </Columns>
       </asp:GridView>
       <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
           SelectMethod="Imagem" TypeName="upload.imagem"></asp:ObjectDataSource>

   </div>
   </form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
           DataSourceID="ObjectDataSource1">
           <Columns>
<asp:TemplateField>
<ItemTemplate>
<img src='<%# Eval("img")  %>' />
</ItemTemplate>
</asp:TemplateField>
           </Columns>
       </asp:GridView>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

E assim:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
           DataSourceID="ObjectDataSource1">
           <Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="BU" ImageUrl='<%# Eval("img") %>' ImageAlign="Middle" runat="server" />
</ItemTemplate>
</asp:TemplateField>
           </Columns>
       </asp:GridView>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, como foi o html gerado.

 

<table cellspacing="0" rules="all" border="1" id="ctl00_ContentPlaceHolder1_GridView2" style="border-collapse:collapse;">

<tr>

<th scope="col">filmeImagem</th><th scope="col"> </th>

 

</tr><tr>

<td>J:/img/page.png</td><td>

<img id="ctl00_ContentPlaceHolder1_GridView2_ctl02_imgagem" src="J:/img/page.png" align="middle" style="border-width:0px;" />

</td>

</tr>

</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quem está gravado no grid view é o endereço não a imagem , correto ????

 

Se sim, eu faço desse jeito quando eu trabalho

 

--- no grid view

 


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title>Untitled Page</title>
</head>
<body>
   <form id="form1" runat="server">
   <div>

       <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
           DataSourceID="ObjectDataSource1">
           <Columns>
               <asp:BoundField DataField="img" HeaderText="img" SortExpression="img" />
	<asp:templatefield>
		<aspitem:ItemTemplate>
                	<asp:Image runat="server" id="img"></asp:image>
		</aspitem:ItemTemplate>
	</asp:templatefield>
       </Columns>
       </asp:GridView>
       <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
           SelectMethod="Imagem" TypeName="upload.imagem"></asp:ObjectDataSource>

   </div>
   </form>

</body>
</html>

 

--no evento - onRowDataBound

if e.rowtype = datarow then

ctype(e.findcontrol("img"), image).imageurl = ctype(e.dataitem,datarowview)("img")


end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não exibiu sua imagem por que no navegador ele não encontra a imagem em J:....

tenta assim:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
           DataSourceID="ObjectDataSource1">
           <Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="BU" ImageUrl='<%# Eval("img").ToString().Replace("J:", "") %>' ImageAlign="Middle" runat="server" />
</ItemTemplate>
</asp:TemplateField>
           </Columns>
       </asp:GridView>

 

Dessa forma deve exibir, mas lembrando que no banco de dados você deve guardar somente o nome da imagem page.png, e não o caminho todo, pois como disse na web ele não funciona se você guardar o caminho todo a não ser que o caminho seja guardado da seguinte forma /img/page.png

Se você guardar somente o nome page.png da imagem no banco no momento de exibir na web você faz assim:

<%# Eval("img", "/img/{0}") %>

Se você guardar o caminho /img/page.png você exibe na web assim:

<%# Eval("img") %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O por que é simples: Se você for guardar o caminho completo, ele não pode ser C:\pasta\image.png por que no momento de exibir, os navegadores não entendem C:\pasta\image.png, até por que ao ai ir pro ar seu site, você não terá o caminho fisico C:\, só tera o caminho relativo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.