2009-11-13 19 views
5

En un formulario, tengo dos combobox que tienen el mismo DataSource (su lista de elementos es la misma). Cuando el usuario selecciona un elemento en uno de los controles, el elemento seleccionado del otro control también se modifica. Eso no es lo que quiero.¿Cómo se puede separar el elemento seleccionado de dos combobox con un solo DataSource?

Me gustaría tener ambas listas pobladas con el mismo DataSource (como lo hago actualmente), pero me gustaría que sus elementos seleccionados sean independientes el uno del otro.

¿Cómo puedo hacer eso?

Respuesta

6

O usted podría utilizar ...

var dataSource = new[] { "item1", "item2", "item3" }; 
comboBox1.DataSource = dataSource; 
comboBox2.BindingContext = new BindingContext(); 
comboBox2.DataSource = dataSource; 
+0

Incluso doc'd que bastante bien. Tan sorprendente como creo que es el comportamiento de sincronización automática, todavía muestra que RTFM es imprescindible cuando se utiliza este marco. – TheBlastOne

1

Debe crear dos instancias diferentes de la fuente de datos. Para ello se puede utilizar el método ToArray extensión:

var dataSource = new string[] { "item1", "item2", "item3" }; 
comboBox1.DataSource = dataSource.ToArray(); 
comboBox2.DataSource = dataSource.ToArray(); 
Cuestiones relacionadas