Ir para conteúdo

POWERED BY:

Arquivado

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

Pestana Jr

[Resolvido] Imagem com Link no GridView

Recommended Posts

Boa noite pessoal,

 

estou populando um gridview via código (C#), através de um .databind() depois de obter um sqldatareader como retorno da minha camada de dados. Tudo funcionando perfeitamente, só que neste gridview eu preciso apresentar aqueles ícones com imagem de uma máquina fotográfica (quando for o caso do registro ter imagens para apresentar) para que o usuário clique e navegue para uma outra página onde apresentarei as imagens. Ou seja, alguém poderia me ajudar nesta questão. Já tentei fazer com Grid_RowDataBound mas ele é ignorado pela execução. Pois, ponho um break point no Grid_RowDataBound e ele preenche o grid pelo databind() e não passa por ele.

Na sequencia, precisarei de ajuda para a passagem do parâmetro através do link nesta imagem.

Espero que tenha me feito entender,

Obrigado

 

Pestana

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pestana faça assim adicione um template a seu grid e nele coloque assim:

<img src="/images/suaImagem.jpg" runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>' />[/cod

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pestana faça assim adicione um template a seu grid e nele coloque assim:

<img src="/images/suaImagem.jpg" runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>' />[/cod

 

 

Olá Ivan, me desculpe a falta de conhecimento mas, onde eu coloco esse código?

 

abç

 

Pestana

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca em um template de seu grid!

 

você poderia me dar um exemplo mais consistente. É no html que eu encaixo o código que você mandou?

Obrigado

 

Pestana

Compartilhar este post


Link para o post
Compartilhar em outros sites

<asp:GridView>

<colums>

<templates>

<img src="/images/suaImagem.jpg" runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>' />

</templates>

</colums>

</asp:GridView>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<asp:GridView>
   <colums>
     <templates>
        <img src="/images/suaImagem.jpg" runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>' />
     </templates>
   </colums>
</asp:GridView>

 

 

 

O "img" está dando erro: " Element 'img' is missing required attribute 'alt'. Outra dúvida é: posso inserir o código direto no source ou preciso criar o templatefiled pelo wizard, pois nesse caso ele cria com "<asp:TemplateField> e </asp:TemplateField>"...dá no mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<asp:GridView>
   <colums>
     <templates>
        <img src="/images/suaImagem.jpg" runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>' />
     </templates>
   </colums>
</asp:GridView>

 

Ok Ivan,

 

consegui inserindo um <Item Template>...aí sim existe a propriedade 'img'....só que agora como faço para inserir um link nesta imagem e com o link passar um parâmetro (no caso o campo Id da linha)

 

Quebra essa!

 

abç

Compartilhar este post


Link para o post
Compartilhar em outros sites

<asp:GridView>

<colums>

<templates>

<a href='<%# Eval("campo", "/pagina.aspx?id={0}") %>' runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>'>

<img src="/images/suaImagem.jpg" /></a>

</templates>

</colums>

</asp:GridView>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pestana sugiro que procure alguns tutorias, de uma olhada no nosso tópico fixo de links, nem sempre os usuários ficam postando códigos prontos aqui.

 

Abraços...

 

 

Obrigado, agradeço a sugestão...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<asp:GridView>
   <colums>
     <templates>
        <a href='<%# Eval("campo", "/pagina.aspx?id={0}") %>' runat="server" visible='<%# !Equals(Eval("suaColunaDaFoto"), null) ? true : false %>'>
        <img src="/images/suaImagem.jpg" /></a>
     </templates>
   </colums>
</asp:GridView>

 

Olá Ivan,

 

consegui. Na verade sua sugestão não funcionou mas me serviu de base para dar aquela garimpada básica e acabar conseguindo na "marra". Da maneira que você passou dava sempre erro, e consegui fazer da seguinte maneira:

 

##### inserindo a imagem quando necessário e fazendo um link nela passando como parâmetro a valor do campo Id da linha ######

 

<asp:TemplateField>

<ItemTemplateField>

<a href="PáginaDestino.aspx?Id=<%# Eval("ColunaId") %>"><img alt="" src"~/Meucaminho/MinhaImagem.jpg" runat="server" visible='<% !Equals(Eval("ColunaDaImagem"), "ImagemDaCamera.jpg") ? false:true %> /> </a>

</ItemTemplateField>

</asp:TemplateField>

 

 

 

Perceba que é bem próximo do que você passou mas não sei pq sem essas diferenças não funciona. De qq forma você deu o caminho...muito obrigado.

Forte abraço

 

pestana

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.