Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

RicardoGaio

Usar hyperlink com imagem numa gridview

Mensagens Recomendadas

RicardoGaio

Viva!

Mais uma vez aqui estou...

Gostaria de saber a vossa opinião e qual a melhor e mais correcta maneira ("programaticamente" falando) de ter um hyperlink com um ícone numa gridview (tipo aqueles ícones de caixote do lixo, lupa, editar, ...).

Estou a fazer desta maneira e funciona como pretendo  :), mas é a forma mais correcta?

E como colocar mais de um ícone?

<asp:HyperLinkField Text="<img style='border:0px' src='../images/lupa.gif'/>" DataNavigateUrlFields="Pedido_ID" 
                            DataNavigateUrlFormatString="historicodetalhes.aspx?pid={0}" />


Um abraço, Ricardo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas,

Podes adiccionar o comandButton depois defines se é imagem ou hyperlink, definis o comandName, e depois é por codigo que fazes o resto

    Protected Sub GridView_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView.RowCommand
        If e.CommandName = "Editar" Then
            Dim index As Integer = Convert.ToInt32(e.CommandArgument)
            ' Retorna a linha que contém o botão clicado
            ' pelo usuário a partir da coleção Rows

            Dim row As GridViewRow = GridView.Rows(index)
            Dim ID As Integer
            'Aqui apanhas o ID da tabela           
            ID = CInt(Server.HtmlDecode(row.Cells(0).Text))

          
            Response.Redirect("~/Teste/teste.aspx?ID="& ID &")
        End If
       

    End Sub

Qualquer duvida é só perguntares

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RicardoGaio

Olá Paulo,

Obrigado pela ajuda.  :cheesygrin:

Não entendi muito bem a tua ajuda... Na parte do comandButton, onde é adicionado?

Entretanto andei a pesquisar  :wallbash: e fiz assim:

       <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
            AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Pedido_ID" 
            DataSourceID="testevarios_SqlDataSource" EnableModelValidation="True">
            <Columns>
                <asp:BoundField DataField="Pedido_ID" HeaderText="Pedido_ID" 
                    InsertVisible="False" ReadOnly="True" SortExpression="Pedido_ID" />
                <asp:BoundField DataField="Pedido_Autor" HeaderText="Pedido_Autor" 
                    SortExpression="Pedido_Autor" />
                <asp:BoundField DataField="Pedido_Log" HeaderText="Pedido_Log" 
                    SortExpression="Pedido_Log" />
                <asp:BoundField DataField="Pedido_Titulo" HeaderText="Pedido_Titulo" 
                    SortExpression="Pedido_Titulo" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:hyperlink id="HyperLink1" runat="server" ImageUrl='../images/lupa.gif' 
                            NavigateUrl='<%# Eval("Pedido_ID", "paginaeliminar.aspx?pid={0}") %>'/>
                        <asp:hyperlink id="HyperLink2" runat="server" ImageUrl='../images/editar.gif' 
                            NavigateUrl='<%# Eval("Pedido_ID", "paginaeditar.aspx?pid={0}") %>'/>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

Mas podes dar a tua opinião  :)


Um abraço, Ricardo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Peço desculpa não é comand button mas sim ButtonField

No edit Columns

E entao depois fazes como disse em cima.

Mas como fizes-te também funciona perfeitamente

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RicardoGaio

Só mais uma coisa, seguindo o que usei no meu post anterior...

Nesse caso concreto, como consigo passar mais parâmetros?

Tipo: paginaeditar.aspx?pid=23&cat=2&subcat=98

Já fiz

<%# Eval("Pedido_ID,Pedido_Cat,Pedido_SubCat", "paginaeditar.aspx?pid={0}&cat={1}&subcat={2}") %>

, mas dá erro...


Um abraço, Ricardo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RicardoGaio

Viva!

Encontrei este exemplo enquanto navegava por aí, testei e resulta!  ;)

Fica o apontamento para mais alguém a quem possa ser útil:

<asp:GridView ID="GridView1" runat="server" 
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" 
                    InsertVisible="False" ReadOnly="True" />
                <asp:BoundField DataField="Titulo" HeaderText="Titulo" />
                <asp:HyperLinkField DataNavigateUrlFields="id,titulo" 
                    DataNavigateUrlFormatString="detalhes.aspx?pid={0}&tit={1}" 
                    Text ="<img src='images/lupa.gif'/>" />
            </Columns>
        </asp:GridView>


Um abraço, Ricardo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas ricardo,

Na programação não há certo ou errado, à metodos de programção que varia de programador para programdor.

É claro que existe coisas obvias, mas não é por isso se fizer-mos de outra maneira que está errado.

No teu caso funciona não me parece que tenhas qualquer problema no teu código.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.