Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
RicardoGaio

Usar hyperlink com imagem numa gridview

Recommended Posts

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.