none
Preencher ComboBox LINQ RRS feed

  • Pergunta

  • Bom dia pessoal, to estudando LINQ e C#, mas ao preencher um combobox estou tendo dificuldades.. segue o código, o controle simplesmente não é preenchido.

    Código do método CarregaGRP();

            private void CarregaGRP()
            {
                using (ProjetoEntities ctx = new ProjetoEntities())
                {
                    var busca = (from g in ctx.Grupo
                                 select new
                                 {
                                     Id = g.Id,
                                     Nome = g.Nome
                                 });
                    cmbGrupo.DataSource = busca;
                    cmbGrupo.DisplayMember = "Nome";
                    cmbGrupo.ValueMember = "Id";
    
                }
            }

    Já busquei por tudo quanto é tipo de solução, mas até agora não consegui preencher o bendito combo.

    domingo, 23 de março de 2014 15:52

Respostas

  • Olá está faltando vc trazer os dados da fonte de dados usando ToList() ou ToArray() que assim vc trará todas suas linhas selecionadas com seu select, pois o que faz ai simplesmente so seleciona não tem nada que diz que onde vc está usando estes dados tente por o ToList() apos sua consulta :

    //aqui seri sua consulta
    Id = g.Id,
    Nome = g.Nome
    }).ToList();
    
    

    • Sugerido como Resposta Herbert Lausmann domingo, 23 de março de 2014 22:32
    • Marcado como Resposta Gercy.Campos segunda-feira, 24 de março de 2014 01:05
    domingo, 23 de março de 2014 19:58

Todas as Respostas

  • Olá está faltando vc trazer os dados da fonte de dados usando ToList() ou ToArray() que assim vc trará todas suas linhas selecionadas com seu select, pois o que faz ai simplesmente so seleciona não tem nada que diz que onde vc está usando estes dados tente por o ToList() apos sua consulta :

    //aqui seri sua consulta
    Id = g.Id,
    Nome = g.Nome
    }).ToList();
    
    

    • Sugerido como Resposta Herbert Lausmann domingo, 23 de março de 2014 22:32
    • Marcado como Resposta Gercy.Campos segunda-feira, 24 de março de 2014 01:05
    domingo, 23 de março de 2014 19:58
  • Pronto, consegui.. Muito obrigado Daniel...

    agora surgiu outra dúvida, no meu cmbGrupo, defini as propriedades de DisplayMember e ValueMember, porém quando chamo meu método para incluir dados exibe uma mensagem de erro, dizendo que o campo é incompatível com minha coluna (o que eu entendi)

    No meu metodo de gravar produtos, defini mais uma propriedade para incluir:

                        IdGrupo = Convert.ToInt16(cmbGrupo.ValueMember)

    Porém ao chama-lo exibe o erro: A cadeia de caracteres de entrada não estava em um formado incorreto

    segunda-feira, 24 de março de 2014 01:14
  • Olá Gercy, quando tiver outra duvida diferente da thread sugiro criar novo tópico para a comunidade poder lhe ajudar também, vindo na sua dúvida esse erro gera pq vc não está lendo o valor da selecao na combobox, e sim o valor da propriedade que tem como retorno object, para selecionar o valor de seu id selecionado na combo seria algo assim :

    //faco o cast para int pq SelectedValue retorna object
    //le o id selecionado
    int id = (int)suaCombo.SelectedValue;
    
    
    

    segunda-feira, 24 de março de 2014 03:11
  • Opa vlw pela dica Daniel, próximas duvidas vou abrir outro tópico mesmo, facilita pra todos né.. vlws
    segunda-feira, 24 de março de 2014 18:03