ASP.NET/C#: Como recuperar os dados que foram associados ao DataSource de um ListBoundControl

asp-netOlá pessoal, tudo bom?

Caso você tenha dados que já foram atribuídos ao DataSource de um determinado ListBoundControl, (GridView, DataList, DropDownList, etc) e precise recuperá-los, para por exemplo, realizar um novo filtro/pesquisa sobre os mesmos, uma maneira simples é realizar o cast dos dados ligados ao DataSource para uma lista de objetos do tipo dos que foram originalmente associados a ele.

Repare no exemplo a seguir que temos um DataList chamado dlProdutos e que ao mesmo foi associada uma lista de objetos de uma classe chamada Produto. A intenção do exemplo é que possamos recuperar os dados do DataList e montar uma consulta LINQ realizando um novo filtro sem necessidade de uma nova consulta no Banco de Dados.


protected void btnProcurar_Click(object sender, EventArgs e)
{
  ...
  ...
  List<Produto> dados = dlProdutos.DataSource as List<Produto>;
  ...
  dlProdutos.DataSource = (from p in dados
             where p.Nome.Contains(txtPalavraChave.Text)
             select p).ToList();
  dlProdutos.DataBind();
  ...
}

Espero ter ajudado!

Grande abraço,
Eduardo Henrique Rizo

[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]

3 comentários em “ASP.NET/C#: Como recuperar os dados que foram associados ao DataSource de um ListBoundControl”

  1. pessoal eu gostaria de saber como faço pra nao perder os dados da base de dados sempre que o pc reinicia me esquece de dizer que é em c#

Deixe um comentário