Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
642
Assunto : ASP.NET
Titulo: Marcar todas as checkbox de uma grid

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



É muito comum utilizarmos dataGrids com CheckBox em cada registro, para selecionar itens ou até mesmo deletar itens.

Mas quando a dataGrid tem um grande volume de registros não fica muito adequado fazer com que o usuário tenha que marcar todos, um por um. Então podemos utilizar um pouco de programação em JavaScript (que continua sendo indispensável para o trabalho com Web) e criar uma checkBox "Marcar Todos".

Primeiramente devemos criar uma função em javascript que faça essa tarefa. Podemos gravar essa função em um arquivo JS a parte. Veja como fica :

//checks all DataGrid CheckBoxes with the given name with the given
value
function CheckAllDataGridCheckBoxes(aspCheckBoxID, checkVal) {

re = new RegExp(':' + aspCheckBoxID + '$') //generated control
name starts with a colon

for(i = 0; i < document.forms[0].elements.length; i++) {

elm = document.forms[0].elements[i]

if (elm.type == 'checkbox') {

if (re.test(elm.name)) {

elm.checked = checkVal

}
}
}
}


Esta função espera receber como parâmetro o nome da checkbox e o valor, true ou false, para marcar ou desmarcar a checkbox.

Como a checkbox estará em uma grid, o nome da checkbox que esta função vai receber é parcial, não representa o nome completo dela no client. Por isso a função utiliza uma expressão regular em javascript para identificar as checkbox que tem nomes como este.

A função faz então um loop em todos os objetos do formulário verificando duas coisas : Primeiro, se o objeto é uma checkbox. Depois, se o nome é o que foi solicitado. Sendo tudo positivo, altera o checked da checkbox.

Por fim, precisamos criar uma checkbox no cabeçalho ou rodapé da grid que servirá para marcar todas as outras. Veja um exemplo :

<HeaderTemplate>
<input id="chkAllItems" type="checkbox"
onclick="CheckAllDataGridCheckBoxes('chkItemChecked',
document.forms[0].chkAllItems.checked)" />
</HeaderTemplate>

Observe que trata-se de uma checkbox para rodar no client, que chama o on-click via javascript, passando o nome da checkbox do servidor a ser alterada e um booleano (no caso, o checked desta própria checkbox client).

Se vc fez a função javascript em um arquivo a parte não pode esquecer de inclui-la, ficará algo parecido com o seguinte :

<HEAD>
...
<script language="javascript"
src="/MyWebApp/MyUtils/FormFunctions.js"></script>
...
</HEAD>



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 10/25/2010 4:35:00 PM
nome: Arthur Ciurilli
email: arthurciurilli@yahoo.com.br
comentário:
Legal a dica!!!

http://desenvolvendoaspnet.blogspot.com/


 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br