Usuário com melhor resposta
Dúvida com evento RowDataBound do gridview

Pergunta
-
Boas senhores, acredito que esta dúvida seja moleza...pois não tenho dominio do C#.
Tenho um gridview, e preciso manipular as linhas sei que tenho que ir no evento RowDataBound.
Fui no codigo e criei o evento para o grid....mas parece que não esta vinculando, pois coloco break e não para...
No vb vou nos metodos localico evento click e ja abre...mas no C# não rola, inclusive preciso de outros eventos...mas descobrindo um acho que o resto deve ser a mesma coisa....
Ou seja, a duvida é qual a forma correta no c# para criar os eventos....principalmente o RowDataBound..
t+
Respostas
-
Boa tarde!!
Verifique se no código aspx do grid está vinculado o evento onrowdatabound:
<asp:GridView ID="gdv" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="idDocumentoTipo" DataSourceID="SqlDataSource1" EnableModelValidation="True" onrowcommand="gdv_RowCommand" onrowdatabound="gdv_RowDataBound">
E no code-behind precisa ter o código que será executado pelo manipulador, exemplo:
protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e) { string tipo = e.Row.RowType.ToString(); }
Exemplo da execução:
Espero ter lhe ajudado, se foi útil: Marque como resposta!! Obrigado!!!Thiago Rogerio
www.thiagorogerio.com.br
thiagorogeriobr@hotmail.com- Marcado como Resposta DET1 quinta-feira, 23 de fevereiro de 2012 20:42
Todas as Respostas
-
Boa tarde!!
Verifique se no código aspx do grid está vinculado o evento onrowdatabound:
<asp:GridView ID="gdv" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="idDocumentoTipo" DataSourceID="SqlDataSource1" EnableModelValidation="True" onrowcommand="gdv_RowCommand" onrowdatabound="gdv_RowDataBound">
E no code-behind precisa ter o código que será executado pelo manipulador, exemplo:
protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e) { string tipo = e.Row.RowType.ToString(); }
Exemplo da execução:
Espero ter lhe ajudado, se foi útil: Marque como resposta!! Obrigado!!!Thiago Rogerio
www.thiagorogerio.com.br
thiagorogeriobr@hotmail.com- Marcado como Resposta DET1 quinta-feira, 23 de fevereiro de 2012 20:42
-
copiei seu codigo e recebo a seguinte msg:
Mensagem de Erro do Compilador: CS1061: 'ASP.configuracao_configuracaohistorico_default_aspx' não contém uma definição para 'gdv_RowCommand' e nenhum método de extensão 'gdv_RowCommand' aceita que um primeiro argumento de tipo 'ASP.configuracao_configuracaohistorico_default_aspx' seja encontrado (você não está usando uma diretriz ou referência de assembly?)
-
Boa noite!
Certo, é porque mandei o código de um gridview e não mandei o codigo desse evento. Deixa o gridview assim, somente com o evento onrowdatabound:
<asp:GridView ID="gdv" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="SqlDataSource1" EnableModelValidation="True" onrowdatabound="gdv_RowDataBound">
**Para esse grid funcionar, você precisa de um datasource chamado SqlDataSource1
Thiago Rogerio
www.thiagorogerio.com.br
thiagorogeriobr@hotmail.com -
Ja estou tão doido, que o erro era em outro evento que não tinha no codebehing...
So um detalhe...não consigo fazer isso via design, ou seja um botão direito em algum lugar e criar o evento, atualizando automaticamente o html?
Tenho que ir na munheca mesmo?
-
Legal!!
Não, o Visual Studio gera os eventos, exemplo:
1) Abre as properties do gridview;
2) Nas properties clique em Events (imagem do raio em amarelo);
3) Dê duplo clique sobre o evento que deseja gerar: O Visual Studio gera o código do evento no code-behind e também adiciona a chamada dele no gridview.
Exemplo:
Thiago Rogerio
www.thiagorogerio.com.br
thiagorogeriobr@hotmail.com -