2012-12-19 14 views
7

मेरे पास टाइप एक्स एक्स की एक संपत्ति स्तर क्लास है। अब किसी ईवेंट पर मुझे चेकडलिस्टबॉक्स चयनित आइटमों को किसी अन्य सूची में चाहिए।चेक किए गए लिस्टबॉक्स चयनित आइटम को <X> सूची में कैसे प्राप्त करें ...?

आउटपुट कैसे प्राप्त करें ... ?? कोड मैं करने की कोशिश की नीचे दी गई है ...

public void Initialize(List<X> x1) 
{ 
     chkList.DataSource = x1; 
     chkList.DisplayMember = "MeterName"; // MeterName is a property in Class X 
     chkList.ValueMember = "PortNum"; // PortNum is a property in Class X 
} 

private void Click_Event(object sender, EventArgs e) 
{ 

List<X> x2 = new List<X>(); 
// Here I want to get the checkedListBox selected items in x2; 
// How to get it...??? 

} 
+0

वेब परियोजना है? विंडोज ऐप? –

+0

विंडोज ऐप दोस्त ... –

+0

संभावित सूची का एक डुप्लिकेट [सूची सूची से किसी आइटम सूची को एक सामान्य सूची में कास्ट करना] (http://stackoverflow.com/questions/471595/casting-an-item-collection-from-a-listbox -to-a-generic-list) –

उत्तर

15

आप निम्नलिखित

List<X> x2 = chkList.CheckedItems.OfType<X>().ToList(); 

या वस्तु

List<object> x2 = chkList.CheckedItems.OfType<object>().ToList(); 
+0

+1 यह ठीक काम करता है, मुझे अपना foreach आधारित उत्तर जोड़ने का कोई कारण नहीं दिखता :) –

+0

वास्तव में मैं DevExpress का उपयोग कर रहा हूं ताकि उपर्युक्त समाधान वहां काम न करे। लेकिन इसने मुझे अपना समाधान प्राप्त करने के लिए एक स्पार्क दिया ... tanx दोस्त .. –

+0

@RavishankarN आप इस काम को पाने के लिए 'ऑफ टाइप' के बजाय 'कास्ट' का उपयोग कर सकते हैं। – nawfal

0

मैं इस सवाल का जवाब मिल गया के रूप में कास्ट की कोशिश कर सकते

private void Click_Event(object sender, EventArgs e) 
{ 

List<X> x2 = new List<X>(); 
foreach (X item in chkList.CheckedItems) 
    { 
     x2.Add(item); 
    } 
} 
0

यहां एक तरीका है जो काम करता है मुझे r:

List<X> x2 = new List<X>(); 
x2 = chkList.CheckedItems.Cast<X>().ToList(); 
0
string[] miList = chkList.CheckedItems.OfType<object>().Select(li => li.ToString()).ToArray(); 
0

यह एक और विकल्प

List<X> lst = new List<X>(chkList.CheckedItems.Cast<X>()); 
संबंधित मुद्दे