none
Dúvida com evento RowDataBound do gridview RRS feed

  • 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+

    quinta-feira, 23 de fevereiro de 2012 17:59

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
    quinta-feira, 23 de fevereiro de 2012 18:48

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
    quinta-feira, 23 de fevereiro de 2012 18:48
  • 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?)


    quinta-feira, 23 de fevereiro de 2012 20:16
  •   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

    quinta-feira, 23 de fevereiro de 2012 20:26
  • 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?

    quinta-feira, 23 de fevereiro de 2012 20:42

  •   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

    quinta-feira, 23 de fevereiro de 2012 20:47
  • valeu....obrigado
    quinta-feira, 23 de fevereiro de 2012 20:52