none
setAttribute em linha de um gridview RRS feed

  • Pergunta

  • Tenho uma página onde no evento onblur de uma linha eu desativo o evento click dessa linha, existe um linkbutoon que ao ser clicado vou  colocar o evento click, sendo que na retirada do evento o script faz certo, retira o evento somente da linha clicada, mais quando vou adicionar o script está colocando em todas as linhas da gridview e simplesmente copiei a function de desativar e mudei apenas o comando para setAttribute.

     

    Junior

    quinta-feira, 5 de abril de 2018 14:50

Respostas

  • Descobri o problema é pq o evento está em um linkbutton e por padrão o click do botão dá um load na página e ai eu recarrego os dados da grid novamente, por isso que o onclick volta para toda a grid.

    Mudei para um checkbox e está funcionando.


    Junior

    • Marcado como Resposta Junior_luiz sexta-feira, 6 de abril de 2018 12:36
    sexta-feira, 6 de abril de 2018 11:32

Todas as Respostas

  • Voce esta provavelmente usando um seletor global (por classe) ou por nome e nomes podem nao ser unicos. O ideal é usar o ID (seletor # do jquery).

    Pode seu codigo para que possamos te ajudar mais.

    Att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    quinta-feira, 5 de abril de 2018 14:55
    Moderador
  • Estou fazendo assim :

    var row = Control.parentNode.parentNode; var linha = row.rowIndex;//pegando o nr da linha da grid var lin = linha + 1;//somando 1 ao nr da linha for (var r = 1; r <= linha; r++) {//percorrendo a linha var sequsu = row.cells[7].innerText; var valor = row.cells[5].innerText; document.getElementById("TabContainer1_tp_4_GRD_Usuario__ctl" + lin + "_TXT_Valor1").value = valor; row.cells[1].children["0"].setAttribute("onclick", "window.open('AlteracaoPedido.aspx'");

    }



    Junior

    quinta-feira, 5 de abril de 2018 16:57
  • Seria mais facil usar Jquery, mas eu nao entendo seu laço for. Voce nao utiliza a variavel r em nenhum ponto.

    A unica coisa que é feita é repetir N vezes o bloco:

    var sequsu = row.cells[7].innerText;
    var valor = row.cells[5].innerText; 
    document.getElementById("TabContainer1_tp_4_GRD_Usuario__ctl" + lin + "_TXT_Valor1").value = valor;
                
    row.cells[1].children["0"].setAttribute("onclick", "window.open('AlteracaoPedido.aspx'");



    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    quinta-feira, 5 de abril de 2018 17:41
    Moderador
  • Descobri o problema é pq o evento está em um linkbutton e por padrão o click do botão dá um load na página e ai eu recarrego os dados da grid novamente, por isso que o onclick volta para toda a grid.

    Mudei para um checkbox e está funcionando.


    Junior

    • Marcado como Resposta Junior_luiz sexta-feira, 6 de abril de 2018 12:36
    sexta-feira, 6 de abril de 2018 11:32