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

powerPT

Gridview com um campo clicável

2 mensagens neste tópico

O que pretendo fazer:

tenho uma gridview que é preenchida mediante uma stored procedure...até aqui tudo bem. Desejo é que um dos campos fique clicável, ou seja, imaginemos:

ID        Nome      Idade

3          Carlos        69

5          Victor        13

Portanto, estes dados vieram da BD, são boundfields e portanto não possuem a propriedade de ficarem clicáveis com um parâmetro que pode ser o ID. Com um HyperLinkField tenho o que quero só que não dá para ser preechido com dados da BD...

Disseram-me para fazer pelo code behind, como não sei  :bored:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como já te tinha dito, tu podes substituir isto:

<asp:BoundField DataField="nome" HeaderText="nome" SortExpression="nome" />

por isto:

<asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton runat="server" ID='lnkCoiso' CommandArgument='<%# Eval("nome") %>' CommandName='Coiso'><%# Eval("nome") %></asp:LinkButton>
            </ItemTemplate>
            </asp:TemplateField>

Depois ainda tens q adicionar no code-behind isto:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.FindControl("lnkCoiso") != null)
            {
                LinkButton l = (LinkButton)e.Row.FindControl("lnkCoiso");
                l.Attributes.Add("href", "Detalhes.aspx?id=" + DataBinder.Eval(e.Row.DataItem,"nome"));
            }
        }
    }

0

Partilhar esta mensagem


Link 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