none
Contar Linhas Gridview utilizando javascript RRS feed

  • Pergunta

  • Caros,

    perante algumas dificuldades encontradas ao longo de alguns post que tenho vindo a criar para solucionar um problema, e estou sempre deparando com um beco sem saída, resolvi utilizar outra abordagem.

    o meu problema anterior era para desabilitar um botão após 3 cliques do utilizador. já fiz de muitas formas mas nenhuma está satisfazendo a minha necessidade. então quero saber o seguinte: 

    é que em cada clique no botão, estou mostrando informações num gridview. a cada clique é acrescentada uma nova linha. logo em cada clique eu quero contar quantas linhas já estão na grid e ao chegar em 3 linhas inseridas, quero desabilitar o botão (this.disabled = true;). tudo isso é feito dentro do código javascript. 

    pretendo ter um if ou for para, antes de invocar qualquer outra função, contar o numero de linhas na grid. caso não chegar a 3, chamar as funções que já tenho desenvolvidas, e caso chegar a 3, desabilitar o botão.

    Agradeço uma ajuda..

    quinta-feira, 28 de novembro de 2013 10:08

Respostas

  • Para contar a linha é facil :

    <script type ="text/javascript">
            $(document).ready(function () {
    
                var totalLinhas = $("#<%=GridView1.ClientID %> tr").length;
    
            });
        
        
        </script>
    Mas se causar postback na pagina esse codigo ja não vale de mais nada pq vai recarregar e não vai ter como vc controlar isso, mas se vc nao recarregar a pagina pode ser uma solução, se a página for carregada não tem como! Vai ter que utilizar Ajax ou session, viewstate, você que manda.

    quinta-feira, 28 de novembro de 2013 10:25

Todas as Respostas

  • Para contar a linha é facil :

    <script type ="text/javascript">
            $(document).ready(function () {
    
                var totalLinhas = $("#<%=GridView1.ClientID %> tr").length;
    
            });
        
        
        </script>
    Mas se causar postback na pagina esse codigo ja não vale de mais nada pq vai recarregar e não vai ter como vc controlar isso, mas se vc nao recarregar a pagina pode ser uma solução, se a página for carregada não tem como! Vai ter que utilizar Ajax ou session, viewstate, você que manda.

    quinta-feira, 28 de novembro de 2013 10:25
  • Daniel, 

    estou tentando encontrar uma solução para este problema a muito tempo e chego sempre numa parte sem saída. 

    porque a minha págia sofre postback a cada clique. e apos o postback o gridview aparece com a nova linha. tentei com viewstate dentro do javascript e nao consegui, fiz com session no meu codebehind mas tb nao serviu muito porque estou utilizando uma classe static e o botao nao é static o que este nao me deixa invocar o botao...

    alguma ideia??

    quinta-feira, 28 de novembro de 2013 10:38
  • Sua pagina sofre postback pq o evento click do botão nao está no javascrip e sim no code behind.

    Mas o que faz essa classe static ? Você insere mais uma linha na grid usando Javascrip ou via code behind

    quinta-feira, 28 de novembro de 2013 10:50