Olá! Domingo, 20 de Maio de 2012.



Dicas CódigoFonte.net
Quinta Feira, 21 de Fevereiro 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 » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com