2009-11-13 12 views
5

एक रूप में, मेरे पास दो combobox हैं जिनके पास एक ही डेटासोर्स है (उनकी तत्व सूची समान हैं)। जब उपयोगकर्ता किसी एक नियंत्रण में किसी आइटम का चयन करता है, तो अन्य नियंत्रण का चयनित आइटम भी संशोधित होता है। यही वह नहीं है जो मैं चाहता हूं।एक ही डेटासोर्स के साथ दो combobox के चयनित आइटम को अलग कैसे करें?

मैं एक ही डेटासोर्स (जैसा कि मैं वर्तमान में करता हूं) के साथ पॉप्युलेट की गई दोनों सूची रखना चाहता हूं, लेकिन मैं चाहता हूं कि उनके चुने हुए आइटम एक-दूसरे से स्वतंत्र हों।

मैं यह कैसे कर सकता हूं?

उत्तर

6

या आप इस्तेमाल कर सकते हैं ...

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

वे भी है कि बहुत अच्छी तरह से doc'd। जैसा कि मुझे लगता है कि ऑटो-सिंच व्यवहार है, आश्चर्यजनक है, यह अभी भी दिखाता है कि इस ढांचे का उपयोग करते समय आरटीएफएम जरूरी है। – TheBlastOne

1

आपको डेटा स्रोत के दो अलग-अलग उदाहरण बनाने की आवश्यकता है। इसके लिए आपको ToArray विस्तार विधि का उपयोग कर सकते हैं:

var dataSource = new string[] { "item1", "item2", "item3" }; 
comboBox1.DataSource = dataSource.ToArray(); 
comboBox2.DataSource = dataSource.ToArray(); 
संबंधित मुद्दे