Академический Документы
Профессиональный Документы
Культура Документы
Quer aprender como navegar sobre as linhas do Gridview usando o teclado? Ento leia este artigo e veja como extremamente fcil!!!
Ol pessoal,
Aqui estou com mais um artigo para o portal DevMedia. Neste artigo vou mostrar como navegar sobre os registros de um Gridview usando as teclas de navegao (Setas de direo e do teclado).
Crie uma conexo com um banco de dados qualquer, de sua preferncia apenas para preencher o grid com dados e assim construirmos nosso exemplo.
Estou usando o SQL Server 2005, veja na figura 1 como ficou meu grid.
Perfeito, nossa primeira tarefa est concluda. Vamos agora criar duas funes JavaScript para manipular as linhas do Gridview.
Entre no Source da pgina Default.aspx e dentro da TAG <head> digite o seguinte cdigo javascript:
<script type="text/javascript">
function MarcarLinha(rowId) { if (document.getElementById(rowId) == null) return; if (document.getElementById(currentRowId) != null ) // Retorna a primeira alinha do Grid quando clicar. document.getElementById(currentRowId).style.backgroundColor = white; currentRowId = rowId; //Muda a cor da linha atualmente selecionada... document.getElementById(rowId).style.backgroundColor = blue; } </script>
</head>
Bem, acredito que este cdigo dispensa comentrios at porque muito simples, e onde achei necessrio fiz comentrios diretamente no cdigo e tambm os nomes das funes so bem intuitivos, ento vamos em frente.
Aps construir estas duas funes vamos agora adicion-las ao Gridview quando em sua construo, para isso selecione o Gridview e crie, com um duplo clique sobre, o procediemento RowDataBoundatravs da janela Properties Events. Figura 2.
Figura 2 - RowDataBound
if (e.Row.RowType == DataControlRowType.DataRow) { //Adicona o Atributo ID com o valor de _i //A primeira vez igual a 0(zero). e.Row.Attributes.Add("id", _i.ToString());
//Adiciona o atribute de onKeyDown pra ver qual seta foi pressionada. Se [para cima] ou [para baixo]. e.Row.Attributes.Add("onKeyDown", "NavegarComTeclado();");
//Adiciona onClick com o valor de _i passado como paramentro para funo JavaScript MarkRow(). //Esta funo usada para marcar o ID da linha clicada. e.Row.Attributes.Add("onClick", "MarcarLinha(" + _i.ToString() + ");");
Este cdigo tambm bem simples e est todo comentado, dispensando assim qualquer comentrio, o que vale destacar que pra cada linha criada no Grid feito um teste para verificar se o tipo da linha Linha (DataControlRowType.DataRow). Sendo verdadeiro este teste ele adiciona os atributos a esta linha, ou seja, estes atributos somente sero adicionados s linhas do Grid.
Espero que apreciem mais este artigo e que com ele consigam personalizar ainda mais suas aplicaes .NET.