Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro Sousa

Preencher um combobox com List<>

Recommended Posts

Boa tarde pessoal, eu estou levando uma verdadeira "surra" para inserir valores que vem de um List<> no meu combo.

Estou preenchendo o List normalmente, já tentei fazer:

 int i = 0;
 //Isso
 while (i < lstFormaTributacao.Count-1)
 {
 cboFormaTributacao.Items.Add(lstFormaTributacao[i].IdFormaTributacao);
 
 }
 cboFormaTributacao.SelectedIndex = 0;
 
 //Isso
 DataTable dt = new DataTable();
 DataRow dr;

 dt.Columns.Add("id");
 dt.Columns.Add("tipo");

 foreach(ENT.clsFormaTributacao obj in lstFormaTributacao)
 {
 dr = dt.NewRow();
 dr["id"] = lstFormaTributacao[i].IdFormaTributacao;
 dr["tipo"] = lstFormaTributacao[i].FormaTributacao;
 dt.Rows.Add(dr);
 }
 cboFormaTributacao.DataSource = dt;

 //E agora Isso...
 foreach (ENT.clsFormaTributacao obj in lstFormaTributacao)
 {
 cboFormaTributacao.DisplayMember = lstFormaTributacao[i].IdFormaTributacao.ToString();
 cboFormaTributacao.ValueMember = lstFormaTributacao[i].FormaTributacao;
 cboFormaTributacao.
 i++;
 }

Eu gostaria de preencher o combo com ID, Valor. Mas gostaria de exibir apenas o valor para o usuario.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que ocorre?

E eu não consegui entender o objetivo deste código:

 //E agora Isso...
 foreach (ENT.clsFormaTributacao obj in lstFormaTributacao)
 {
 cboFormaTributacao.DisplayMember = lstFormaTributacao[i].IdFormaTributacao.ToString();
 cboFormaTributacao.ValueMember = lstFormaTributacao[i].FormaTributacao;
 cboFormaTributacao.
 i++;
 }

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, entao o código que você não entendeu, eu tentei gerar o display member e o value member. Mas não apareceu nada.

 

Nos outros não da erro nenhuma mas não popula e qndo popula aparece isso:

System.Data.DataRowViewm, quando utilizo:

cboFormaTributacao.DataSource = dt;

Mas a unica coisa que quero fazer é exibir para o usuario o valor do item, ex:Lucro Presumido, escondendo o código da linha, que seria por exemplo: 1.

No caso sem esconder nada ficaria 1-Lucro Presumido.

 

Abraços.

 

O que ocorre?

E eu não consegui entender o objetivo deste código:

 //E agora Isso...
 foreach (ENT.clsFormaTributacao obj in lstFormaTributacao)
 {
 cboFormaTributacao.DisplayMember = lstFormaTributacao[i].IdFormaTributacao.ToString();
 cboFormaTributacao.ValueMember = lstFormaTributacao[i].FormaTributacao;
 cboFormaTributacao.
 i++;
 }

Abraços...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Quintelab, desculpe a demora, eu já consegui fazer funcionar.

 

 DataTable dt = new DataTable();
 dt = objBllLoja.RetornaFormaTributacao();

 if (dt.Rows.Count > 0)
 {
 cboFormaTributacao.DataSource = dt;
 cboFormaTributacao.ValueMember = "idformaTributacao";
 cboFormaTributacao.DisplayMember = "formaTributacao";
 }

Como eu faria se eu tivesse retornando um LIST<> ? Pq eu nao consegui com ele só com DataTable e abri este tópico mesmo para saber como fazer com um List.

 

Abraços.

 

Só pra confirmar seu projeto é windows e não web né?

Você deve definir as propriedades id display la no componente.

 

Abraços...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.