none
combobox RRS feed

  • Pergunta

  • olá. tenho um combobox.. quando seleciona um intem preciso pega o codigo dele e estou com esse problema.alguem pode ter uma solução

    quarta-feira, 9 de janeiro de 2008 16:31

Respostas

  • Boa Tarde Queops,
    Para pegar o código (index) de uma combo, você pode usar a propriedade SelectedIndex da combo.
    Exemplo, criei um form com uma combo e um botão:

     

    Code Block

     

    private void Form1_Load(object sender, EventArgs e)

    {

    this.comboBox1.Items.Add("Linha 0");

    this.comboBox1.Items.Add("Linha 1");

    this.comboBox1.Items.Add("Linha 2");

    this.comboBox1.Items.Add("Linha 3");

    }

    private void button1_Click(object sender, EventArgs e)

    {

    MessageBox.Show(this.comboBox1.SelectedIndex.ToString());

    }

     

     

     

    Ele mostra o código do item selecionado, se esse código retornar -1, quer dizer que não tem nada selecionado, faça o teste. Você pode usar a propriedade Count para saber se ele selecionou algum item por exemplo:

    Code Block

     

    private void button1_Click(object sender, EventArgs e)

    {

    if (this.comboBox1.Items.Count < 0)

    {

    MessageBox.Show("Vocˆ nÆo selecionou nenhum item.");

    return;

    }

    MessageBox.Show("Vocˆ selecionou o item " + this.comboBox1.SelectedIndex.ToString());

    }

     

     

     

    Espero que tenha ajudado, abraços.

     

     

     

    sexta-feira, 11 de janeiro de 2008 16:54
  •  

    Salve salve Queops! Tudo bom meu amigo?

     

    Cara se tu carrega essa combo usando um DataTable, eu sugiro que tu mude o jeito de carregar ela para conseguirmos pegar o ID do item q vc selecionou! Tipo o modelo do código embaixo!

     

     

    Code Snippet

    /// <summary>

    /// Método que preenche o comboBox ao carregar o formul rio

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    private void Form1_Load(object sender, EventArgs e)

    {

    comboBox1.DataSource = dt; // DataTable que tu usa para retornar os registros do Banco

    comboBox1.DisplayMember = "Nome";

    comboBox1.ValueMember = "Codigo";

    }

    /// <summary>

    /// Método utilizado ao clicar no botÆo

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    private void button1_Click(object sender, EventArgs e)

    {

    int codigo = comboBox1.SelectedValue;

    //Faça o restante do c¢digo

    }

     

     

    Espero ter ajudado meu amigo, qualquer outra dúvida tamo na área!

    Forte abraço e tudo de bom!

    Leandro Amorim
    domingo, 30 de março de 2008 02:19

Todas as Respostas

  • Amigo,

     

    Um exemplo

     

    'selecionar o valor armazenado no campo Text do ComboBox (item selecionado)

    Dim strText = DropDownList1.SelectedItem.Text

     

    'selecionar o valor armazenado no campo Value do ComboBox (item selecionado)

    Dim strValue = DropDownList1.SelectedItem.Value

     

    Alterar as propriedades DataTextField e DataTextFormatString do Combobox (Além do DataSource)

     

    Na propriedade DataTextFormatString vc informar a string a ser exibida no grid (Nome do Cliente, Estado Civil, etc) e na propriedade  DataTextField vc define o item (normalmente a chave primária) Código do Cliente, Código do Fornecedor, etc).

     

    Espero ter ajudado.

    (Se a dica foi útil clique no link (Este post foi útil?)

     

    Obrigado

     

     

    quinta-feira, 10 de janeiro de 2008 00:48
  • Boa Tarde Queops,
    Para pegar o código (index) de uma combo, você pode usar a propriedade SelectedIndex da combo.
    Exemplo, criei um form com uma combo e um botão:

     

    Code Block

     

    private void Form1_Load(object sender, EventArgs e)

    {

    this.comboBox1.Items.Add("Linha 0");

    this.comboBox1.Items.Add("Linha 1");

    this.comboBox1.Items.Add("Linha 2");

    this.comboBox1.Items.Add("Linha 3");

    }

    private void button1_Click(object sender, EventArgs e)

    {

    MessageBox.Show(this.comboBox1.SelectedIndex.ToString());

    }

     

     

     

    Ele mostra o código do item selecionado, se esse código retornar -1, quer dizer que não tem nada selecionado, faça o teste. Você pode usar a propriedade Count para saber se ele selecionou algum item por exemplo:

    Code Block

     

    private void button1_Click(object sender, EventArgs e)

    {

    if (this.comboBox1.Items.Count < 0)

    {

    MessageBox.Show("Vocˆ nÆo selecionou nenhum item.");

    return;

    }

    MessageBox.Show("Vocˆ selecionou o item " + this.comboBox1.SelectedIndex.ToString());

    }

     

     

     

    Espero que tenha ajudado, abraços.

     

     

     

    sexta-feira, 11 de janeiro de 2008 16:54
  •  

    na verade eu pego o index do combo mas não o index da intem selecionada.. assim

    para web eu uso o dropdowlist  e faço assim this.dropCliente.items.add(new listitem(dr["Codigo"].tostring,dr["Nome"].tostring))); ai fica armazenado no componente..o index,,, mas no combobox num está dando certo assim

     

    segunda-feira, 21 de janeiro de 2008 11:10
  • olá Queops, nõ entendi direito o q vc quer
    bom, o que o pessoal postou vc pega o índice levando em conta os itens que estão no combo né

    não sei se é o q vc pede nesse último post, mas vou postar qui, vai que te serve

    vc pode usar dataset
    criar um tableadapter e preenchê-lo com um select IDindice, nome FROM tabela.....

    tableadapter.Fill(ds, "tabela");

    no combo vc dá combobox.datasource = ds;
    combobox.DisplayMember = "Nome";
    combobox.ValueMember = "IDindice";

    seu combo vai mostrar os nomes dos campos q vc quer
    e quando vc der combobox.SelectedValue vc vai obter o IDindice desta linha

    t+, abraços
    segunda-feira, 21 de janeiro de 2008 12:38
  •  

    Salve salve Queops! Tudo bom meu amigo?

     

    Cara se tu carrega essa combo usando um DataTable, eu sugiro que tu mude o jeito de carregar ela para conseguirmos pegar o ID do item q vc selecionou! Tipo o modelo do código embaixo!

     

     

    Code Snippet

    /// <summary>

    /// Método que preenche o comboBox ao carregar o formul rio

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    private void Form1_Load(object sender, EventArgs e)

    {

    comboBox1.DataSource = dt; // DataTable que tu usa para retornar os registros do Banco

    comboBox1.DisplayMember = "Nome";

    comboBox1.ValueMember = "Codigo";

    }

    /// <summary>

    /// Método utilizado ao clicar no botÆo

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    private void button1_Click(object sender, EventArgs e)

    {

    int codigo = comboBox1.SelectedValue;

    //Faça o restante do c¢digo

    }

     

     

    Espero ter ajudado meu amigo, qualquer outra dúvida tamo na área!

    Forte abraço e tudo de bom!

    Leandro Amorim
    domingo, 30 de março de 2008 02:19