2012-04-15 24 views
12

सी # में, मेरे पास a है, string टाइप करें।मैं सी # में एक combobox में मूल्य द्वारा एक आइटम कैसे प्राप्त करूं?

मैं कैसे combobox में a का मूल्य द्वारा find item कर (मैं मूल्य बता गया का कोई प्रदर्शन पाठ के साथ आइटम ढूंढने चाहते हैं)।

+3

कृपया बताएंगे कि कैसे बता गया भर जाता है है। –

+0

कृपया यह इंगित करने के लिए एक टैग जोड़ें कि आप किस यूआई टूलकिट का उपयोग कर रहे हैं। –

उत्तर

22

आप निम्न कोड का उपयोग करके इसे पा सकते हैं।

int index = comboBox1.Items.IndexOf(a); 

प्राप्त करने के लिए स्वयं आइटम, लिखें:

comboBox1.Items[index]; 
0

मैं जानता हूँ कि मेरी समाधान बहुत ही सरल और हास्यास्पद है, लेकिन इससे पहले कि मैं प्रशिक्षित मैं इसे इस्तेमाल किया। महत्वपूर्ण: combDox की DropDownStyle "DropDownList" होना चाहिए!

बता गया में पहले और उसके बाद:

bool foundit = false; 
String mystr = "item_1"; 
mycombobox.Text = mystr; 
if (mycombobox.SelectedText == mystr) // Or using mycombobox.Text 
    foundit = true; 
else foundit = false; 

यह सही मेरे लिए काम करता है और मेरी समस्या ... हल हो लेकिन जिस तरह से (समाधान) @ सेंट-mnmn से बेहतर और ठीक है।

5

आपको FindStringExact() के लिए कॉम्बो बॉक्स नियंत्रण पर एक विधि देखना चाहिए, जो डिस्प्लेमेम्बर को खोजेगा और उस आइटम के सूचकांक को वापस लौटाएगा। यदि नहीं मिला तो वापस आ जाएगा -1।

//to select the item if found: 
mycombobox.SelectedIndex = mycombobox.FindStringExact("Combo"); 

//to test if the item exists: 
int i = mycombobox.FindStringExact("Combo"); 
if(i >= 0) 
{ 
    //exists 
} 
+0

मुझे लगता है कि FindExactString() कॉम्बोबॉक्स की DisplayMember प्रॉपर्टी पर काम करता है। मुझे लगता है कि प्रश्न एक कॉम्बोबॉक्स की ValueMember संपत्ति पर मिलान करने के बारे में पूछ रहा है। – andyabel

0

हाय दोस्तों का सबसे अच्छा तरीका एक पाठ या मूल्य के लिए खोज करता है, तो

int Selected;  
int count = ComboBox1.Items.Count; 
    for (int i = 0; (i<= (count - 1)); i++) 
    {   
     ComboBox1.SelectedIndex = i; 
     if ((string)(ComboBox1.SelectedValue) == "SearchValue") 
     { 
      Selected = i; 
     } 

    } 

    ComboBox1.SelectedIndex = Selected;