Codificando .Net

Aprendizado, companherismo, ensino e aperfeiçoamento constante

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!!

 

Exibições: 66

Tags: asp.net, dotnet, linq, webcontrols, webforms

Comentar

Você precisa ser um membro de Codificando .Net para adicionar comentários!

Entrar em Codificando .Net

Patrocínios

 

 

Comunidade Daruma 

Editora O'Reilly 

 

© 2013   Criado por Alexandre Tarifa.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço