none
Como setar um valor defaut para um ComboBox - C# RRS feed

  • Pergunta

  • Boa noite amigos do Fórum.

    Tenho um combobox que carregado com valores ("PESSSOA FÍSICA" e "PESSOA JURÍDICA") do banco de dados banco de dados através do evento Form_Load. Por padrão, ele seta a opção PESSOA FISICA quando o ComboBox é carregado.

    Pergunta: Depois de ter sido carregado através do evento Load do form , tem como eu setar manualmente a opção padrão para "PESSOA JURIDICA" a qualquer momento que eu quiser?

    Abraço galera!!!


    sexta-feira, 25 de setembro de 2015 00:38

Respostas

  • No carregamento do Combobox (Evento do Load) eu consegui usando

                cbPessoaTipo.SelectedIndex = 1;

    O problema é que não consigo seta-lo depois de carregado (em tempo de execucao)... Se eu usar 

                cbPessoaTipo.SelectedIndex = 1; dá erro dizendo que não há este Índice... algo assim.

    É possível setar o valor padrão com o combobox depois de carregado?

    • Marcado como Resposta Marcos SJ terça-feira, 29 de setembro de 2015 17:58
    sexta-feira, 25 de setembro de 2015 21:57

Todas as Respostas

  • Boa noite,

    Pessoa Fiscal e Pessoa Juridica são valores "soltos"ou fazem parte de um enum?

    Se for solto é só usar a propriedade SelectedIndex (começa em 0 e -1 deixa vazio).

    Mas eu aconselharia a usar um enum neste caso... Ex:

    enum Pessoa { Fisica = 0, Jurica = 1 };
    
    cmbPessoa.DataSource = Enum.GetValues(typeof(Pessoa));
    
    cmbPessoa.SelectedItem= Pessoa.Fisica;
    cmbPessoa.SelectedItem= Pessoa.Juridica;
    

    https://msdn.microsoft.com/pt-br/library/sbbt4032.aspx

    http://stackoverflow.com/questions/906899/binding-an-enum-to-a-winforms-combo-box-and-then-setting-it

    sexta-feira, 25 de setembro de 2015 00:54
  • Boa noite Marcos.

    Obrigado por responder...

    Os valores são soltos.. Eles são recebidos do banco de dados. Em tese seriam indices 0 e 1... Tentei usar  cbPessoaTipo.SelectedIndex = 1;

    mas dé erro...

    sexta-feira, 25 de setembro de 2015 01:04
  • ddlMeuDrop.SelectedValue = "1" 


    Atenciosamente, Samuel dos Anjos

    sexta-feira, 25 de setembro de 2015 01:38
  • Obrigado Samuel...

    Não dá erro, mas nw funcionou...  Continua mostrando o primeiro da lista.

    sexta-feira, 25 de setembro de 2015 09:10
  • Boa noite Marcos.

    Obrigado por responder...

    Os valores são soltos.. Eles são recebidos do banco de dados. Em tese seriam indices 0 e 1... Tentei usar  cbPessoaTipo.SelectedIndex = 1;

    mas dé erro...

    Bom dia,

    Qual erro?

    Não faz sentido, se você disse que tem dois valores deveria ser 0 e 1...

    O que retorna se você fizer isso:

    MessageBox.Show(cmbPessoaTipo.Items.Count.ToString(););

    Pelo que você disse no começo o retorno do count deve ser 2...

    Pode mandar o trecho do código aonde coloca os valores do ComboBox ou caso ele já venha

    pré carregado printar os valores que você deixou pré-carregado?

    sexta-feira, 25 de setembro de 2015 10:43
  •         public void CarregarComboBoxPessoaTipo()
            {
                PessoaTipoBLL pessoaTipoBLL = new PessoaTipoBLL();
    
                cbPessoaTipo.DataSource = pessoaTipoBLL.ConsultarTodos();
                cbPessoaTipo.ValueMember = "Descricao"; 
    
            }

    no Load do form eu chamo :

    CarregarComboBoxPessoaTipo()

     Depois de carregado, preciso setar o valor padrão para "Pessoa Jurídica"

    sexta-feira, 25 de setembro de 2015 14:48
  • Ele está retornando 0....

    mas ele está carregando direitinho.

     public void CarregarComboBoxPessoaTipo()
            {
                PessoaTipoBLL pessoaTipoBLL = new PessoaTipoBLL();
    
                cbPessoaTipo.DataSource = pessoaTipoBLL.ConsultarTodos();
                cbPessoaTipo.ValueMember = "Descricao";
    
            }


    • Editado Jalber Romano sexta-feira, 25 de setembro de 2015 21:01
    sexta-feira, 25 de setembro de 2015 20:58
  • Boa noite,

    Notei que o seu ValueMember é Descricao... tenta assim:

    cbPessoaTipo.SelectedItem = "PESSOA JURÍDICA";
    Exatamente como carregou...


    • Editado Marcos Gerene sexta-feira, 25 de setembro de 2015 21:39
    sexta-feira, 25 de setembro de 2015 21:32
  • No carregamento do Combobox (Evento do Load) eu consegui usando

                cbPessoaTipo.SelectedIndex = 1;

    O problema é que não consigo seta-lo depois de carregado (em tempo de execucao)... Se eu usar 

                cbPessoaTipo.SelectedIndex = 1; dá erro dizendo que não há este Índice... algo assim.

    É possível setar o valor padrão com o combobox depois de carregado?

    • Marcado como Resposta Marcos SJ terça-feira, 29 de setembro de 2015 17:58
    sexta-feira, 25 de setembro de 2015 21:57