Renato Haddad

MVP, Developer .NET and MS-Office, MCPD, MCTS

Dica de preenchimento de Listbox e DropDown com fonte de dados

Algumas pessoas tem me questionado como adicionar items a um controle APÓS ter feito o datasource e o databind.

Normalmente usamos o seguinte código:

string[] dados = { "teste1", "teste2", "teste3", "teste4" };
lstProdutos.DataSource = dados;
lstProdutos.DataBind();

Mas se vc tentar adicionar algum item entre o DataSource e o DataBind,nada funcionará pq o DataBind irá renderizar o controle somente com a fonte.

string[] dados = { "teste1", "teste2", "teste3", "teste4" };
lstProdutos.DataSource = dados;
lstProdutos.Items.Add(new ListItem("ultimo item", "ultimo"));
lstProdutos.Items.Insert(0, "novo item");
lstProdutos.DataBind();

Mas seus problemas acabaram :) pq no ASP.NET 3.5 existe a propriedade AppendDataBoundItems que permite adicionar items mesmo antes do DataBind. Veja o exemplo:

string[] dados = { "teste1", "teste2", "teste3", "teste4" };
lstProdutos.AppendDataBoundItems = true;   // NOVA PROPRIEDADE
lstProdutos.DataSource = dados;
lstProdutos.Items.Add(new ListItem("ultimo item", "ultimo"));
lstProdutos.Items.Insert(0, "novo item");
lstProdutos.DataBind();

Faça um bom uso deste código e aplique-o nos seus projetos.

Posted: Dec 17 2008, 12:59 PM by renatohaddad | with 1 comment(s)
Filed under:

Comments

Ramon Valerio da Silva said:

Muito boa essa dica da nova propriedade.

Obrigado por estar sempre compartilhando seus conhecimentos.Valeu

# February 10, 2009 11:58 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)