Usuário com melhor resposta
setAttribute em linha de um gridview

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
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
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". -
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
-
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". -
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