Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problema com a combobox ²

Olá! Em continuação ao meu problema do outro tópico (aqui). Agora que as duas ComboBox estão usando o mesmo DataSource, assim que eu seleciono um outro item em qualquer ComboBox, a outra também muda sozinha! Exemplo: Existem duas contas cadastradas nas combobox, "Mauricio" e "Paulo". Se eu seleciono a conta "Mauricio" na primeira combobox, a segunda muda automaticamente para Mauricio também! O mesmo ocorre no contrário. Código do IndexChanged de cada uma:

private void cmbContas_SelectedIndexChanged(object sender, EventArgs e)
        {
            object itemSelecionado = cmbContas.SelectedItem;
            contaSelecionada = (Conta)itemSelecionado;
            MostraConta();
//essa é a primeira combobox
        }
 private void cmbDestinoTransferencia_SelectedIndexChanged(object sender, EventArgs e)
        {
            contaTransfere = conta[cmbDestinoTransferencia.SelectedIndex];
//segunda combobox           
        }
3 respostas

Antes de adicionar o DataSource da segunda ComboBox, especifique que se tratará de um novo data. Desse modo:

cmbDestinoTransferencia.BindingContext = new BindingContext();
 cmbDestinoTransferencia.DataSource = srcCMB;

Funcionou perfeitamente! Poderia me explicar do que se trata o BindingContext, por favor? (desculpe pela demora para responder ao tópico)

solução!

BindingContext define o comportamento que o elemento deve ter.

Quando você conecta a ComboBox com a BindingList, através do DataSource, você está dizendo que o comportamento da ComboBox deve ser igual ao da BindingList.

Por se tratar de uma via de duas mãos, ou seja, a BindingList também terá o comportamento da ComboBox, ao adicionarmos uma outra ComboxBox com essa mesma BindingList de DataSource ela automaticamente herda o comportamento da BindingList, fazendo com que as duas ComboxBox hajam iguais.

Então, para evitar isso, dizemos que o comportamento dessa outra ComboBox será um novo comportamento, assim ela não herdará o comportamento já contido no BindingList.