E ai galera, tudo bem?
Hoje eu trago para vocês mais uma dica de como trabalhar melhorar seu código Asp.Net Webforms, desta vez vou mostrar como é fácil e prático manipular com infomações da GridView usando o LinQ.
Porque utilizar LinQ com GridViews?
Suponhamos que você tenha uma coluna CheckBox(usando TemplateField ) na sua GridView e gostaria de capturar uma informação de todos os itens selecionados quando o evento Click de um botão for disparado. Utilizando o modo convencional (geralmente manipulando os dados do lado do servidor, CodeBehind) você teria trechos de código contendo loops e condicionais, correto? Mas LinQ pode facilitar o trabalho, conforme exemplo abaixo:
string[] dadosSelecionados = (
from GridViewRow linha in MinhaGridView.Rows
where ((CheckBox)linha.FindControl("CheckBoxID")).Checked == true
select linha.Cells[1].Text
).Cast<String>().ToArray();
Caso você utilize DataKeys na sua GridView, o código fica um pouco diferente como veremos a seguir:
string[] dadosSelecionados = (
from GridViewRow linha in MinhaGridView.Rows
where ((CheckBox)linha.FindControl("CheckBoxID")).Checked == true
select ((GridView)linha.NamingContainer).DataKeys[0].Value.ToString()
).Cast<String>().ToArray();
Bom galera espero ter ajudado.
Só mais uma coisa, quem estiver interessado em dar sugestões para as próximas dicas ou participar do projeto Pomodoro MVP Sample deixa um comentário ou me manda um email, OK?
Obs: Lembrando que o pessoal que já trabalha com Asp.Net 4.0, eu sugiro pensar bem antes de usar essa abordagem já que na versão você consegue setar configurações para deixar seus componentes com IDs estáticos, conseguindo trabalhar sem falar palavrões e odiar o WebForms numa boa com a UI usando as facilidades client-side do JQuery!!!
Criticas e sugestões são bem-vindas!
Valeu!!
© 2013 Criado por Alexandre Tarifa.
Ativado por
Você precisa ser um membro de Codificando .Net para adicionar comentários!
Entrar em Codificando .Net