Usuário com melhor resposta
combobox

Pergunta
-
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 Blockprivate 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{
{
}
MessageBox.Show("Vocˆ selecionou o item " + this.comboBox1.SelectedIndex.ToString());}
Espero que tenha ajudado, abraços.
-
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;
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){
}
Forte abraço e tudo de bom!
Leandro Amorim
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
-
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 Blockprivate 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{
{
}
MessageBox.Show("Vocˆ selecionou o item " + this.comboBox1.SelectedIndex.ToString());}
Espero que tenha ajudado, abraços.
-
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
-
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 -
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;
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){
}
Forte abraço e tudo de bom!
Leandro Amorim