Olá! Friday, 19 de April de 2024.



Dicas CódigoFonte.net
Thursday, 21 de February de 2008

Selecionando Linhas de forma dinâmica dentro do GridView

Olá pessoal,

Imagine um cenário onde um GridView com 15 colunas e um checkbox em cada linha para selecionar.

Toda vez que precisarmos selecionar uma linha do GridView seria um saco! Pois caso o checkbox esteja na última coluna, o ato de selecionar vira algo não muito confortável.

A partir de agora, criaremos um mecanismo que facilitará nossa vida ao selecionar cada linha de um GridView!

Código JavaScript:

function Selecionar(elemento,cordefundo) { var Inputs = elemento.getElementsByTagName("input"); var cor = elemento.style.backgroundColor; //manter a cor default do elemento for(var i = 0; i < Inputs.length; ++i) { if(Inputs[i].type == 'checkbox') { Inputs[i].checked = !Inputs[i].checked; elemento.style.backgroundColor = cordefundo; elemento.onclick = function() { Selecionar(this,cor); }; } } }

No script acima, recebo a referência da linha [elemento] do controle [GridView] em seguida obtenho todos os inputs do elemento.

Depois que encontro o meu CheckBox, efetuo a operação desejada [selecionar/desselecionar] em seguida mudo a cor de fundo do elemento e modifico o evento onclick.

Adicionando a função Selecionar(elemento,cordefundo) nas Linhas do GridView:

No PreRender do GridView adicione o código abaixo.

protected void gvSelecao_PreRender(object sender, EventArgs e){ GridView gv = (GridView)sender; foreach (GridViewRow row in gv.Rows) row.Attributes.Add("onclick", "Selecionar(this,'#FFFF00');"); }

Aqui estamos adicionando nossa função em cada linha de nosso GridView.

Com essa implementação só precisamos clicar na linha para selecionar nosso checkbox.

Até a próxima.

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010