Como ligar dois controles diferentes a um mesmo DataTable sem que as alterações de dados realizadas por um controle alterem os dados no outro
Suponha que você tenha 2 controles, ComboBox e ListBox, no mesmo formulário e a propriedade DataSource de ambos é a mesma...
Como ligar dois controles diferentes a um mesmo DataTable sem que as alterações de dados realizadas por um controle alterem os dados no outro
Este é um problema bastante comum. Suponha que você tenha 2 controles, ComboBox e ListBox, no mesmo formulário e a propriedade DataSource de ambos é a mesma. Então, a seleção de um item em um controle seleciona o mesmo item no outro controle. Este problema ocorre por causa da propriedade BindingContext dos controles. Por padrão, o BindingContext dos 2 controles está configurada para levar em consideração o BindingContext do formulário. Logo, o comportamento padrão dos controles é compartilharem o mesmo BindingContext. E é por isso que as seleções ficam sincronizadas. Se você não deseja este comportamento, crie um novo BindingContext para, pelo menos, um dos controles.
ComboBox1.DataSource = DataSet.Tables("Items")
ComboBox1.ValueMember = "CustomerID"
ComboBox1.DisplayMember = "CustomerID"
ListBox1.BindingContext = New BindingContext()
ListBox1.DataSource = dataset.Tables("Items")
ListBox1.ValueMember = "CustomerID"
ListBox1.DisplayMember = "CustomerID"
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo