Usuário com melhor resposta
Pegar valor no GridView

Pergunta
-
Pessoal,
Tem um GridView com algumas colunas e a primeira delas esta setada Visible = false e adicionei na propriedade DataKeyName o campo da tabela.
Coloquei neste GridView um templateField e dentro dele um botao.No click deste botao preciso recuperar o valor da coluna que esta invisivel.
Alguem pode me ajudar?
Obrigado
Respostas
-
Amigo se vc informou o DataKeyName pode recuperar o valor desta forma:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand" DataKeyNames="SEU_CAMPO">
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { WebControl wc = ((WebControl)e.CommandSource); GridViewRow row = ((GridViewRow)wc.NamingContainer); Label1.Text = this.GridView1.DataKeys[row.RowIndex].Values["SEU_CAMPO"].ToString(); }
msn: poseidonfba@hotmail.com- Marcado como Resposta Marcelo Moreira Souza sexta-feira, 7 de maio de 2010 18:10
Todas as Respostas
-
-
-
Você vai ter que fazer assim:
Nesse botão que você vai clicar, passe a propriedade CommandName dele "Seleciona" por exemplo.
Então, no evento RowCommand da Grid, você resgata a linha seleciona com e.Row.Index
Fkaeh - Gambi.NET® Framework Certificated 2010- Sugerido como Resposta Seilor Bonancio JuniorModerator sexta-feira, 7 de maio de 2010 16:11
-
-
-
-
tem que ser dentro do RowCommand, amigo.
Alias, esqueci também..
Vai no eventoRowCreate
Dim Bt As Button = e.Row.FindControl("seubotaoid") If (IsNothing(Bt) = False) Then Bt.CommandArgument = e.Row.RowIndex End IF
Fkaeh - Gambi.NET® Framework Certificated 2010 -
Já passei por esse problema, quando vc seta a coluna como false o gridview não carrega o dado dessa coluna (nada a ver né). A solução foi setar a visibilidade da coluna no evento RowCreated ao invés da propriedade visible da coluna. Ficaria assim:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { e.Row.Cells[1].Visible = false; e.Row.Cells[2].Visible = false; }
Espero ter ajudado.
-
-
Amigo se vc informou o DataKeyName pode recuperar o valor desta forma:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand" DataKeyNames="SEU_CAMPO">
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { WebControl wc = ((WebControl)e.CommandSource); GridViewRow row = ((GridViewRow)wc.NamingContainer); Label1.Text = this.GridView1.DataKeys[row.RowIndex].Values["SEU_CAMPO"].ToString(); }
msn: poseidonfba@hotmail.com- Marcado como Resposta Marcelo Moreira Souza sexta-feira, 7 de maio de 2010 18:10
-
-