2010-09-27 7 views
11

मैं इस DataTable निम्नलिखित संरचना के साथ है:क्या "DisplayMember" और "ValueMember" है चेकडलिस्टबॉक्स नियंत्रण के लिए गुणों की तरह? सी # WinForms

ID | VALUE 
---------------- 
1 | Item 1 
2 | Item 2 
3 | Item 3 

और मैं एक आइटम के रूप में प्रत्येक पंक्ति जोड़कर एक CheckedListBox नियंत्रण में DataTable से मूल्यों को प्रदर्शित करते हैं।

लेकिन मैं आईडी कैसे शामिल कर सकता हूं? क्या "डिस्प्लेमेम्बर" और "वैल्यूमेम्बर" चेकडलिस्टबॉक्स नियंत्रण के लिए गुणों की तरह है?

उत्तर

17

खैर हाँ, वहाँ CheckedListBox पर DisplayMember और ValueMember गुण हालांकि ValueMember दावे के लिए डॉक्स यह "इस वर्ग के लिए प्रासंगिक नहीं है" कर रहे हैं।

using System; 
using System.Drawing; 
using System.Windows.Forms; 

class Test 
{ 
    static void Main() 
    { 
     CheckedListBox clb = new CheckedListBox { 
      DisplayMember = "Foo", 
      ValueMember = "Bar", 
      Items = { 
       new { Foo = "Hello", Bar = 10 }, 
       new { Foo = "There", Bar = 20 } 
      } 
     }; 
     Form f = new Form 
     { 
      Controls = { clb } 
     }; 
     Application.Run(f); 
    } 
} 

भी ध्यान रखें कि डॉक्स राज्य:

आप एक CheckedListBox करने के लिए डेटा को नहीं बांध सकता

यहां एक त्वरित DisplayMember काम कर दिखा उदाहरण है। इसके बजाए कॉम्बोबॉक्स या लिस्टबॉक्स का प्रयोग करें। अधिक जानकारी के लिए, देखें कि कैसे: विंडोज़ फॉर्म को कॉम्बोबॉक्स या सूची बॉक्स नियंत्रण डेटा को बांधें।

उपरोक्त कोड जो काम करता है, देखते हुए, संभवतः यह DataSource का उपयोग करके अधिक उन्नत डेटा बाइंडिंग के बारे में बात कर रहा है?

+0

ठीक है सर मैं जांच करूंगा। – yonan2236

+0

मैंने CheckedListBox पर DisplayMember और ValueMember गुणों के लिए कोई सर नहीं देखा। – yonan2236

+1

@ yonan2236: ठीक है वे वहां हैं ... IntelliSense या डिजाइनर उन्हें सुझाव नहीं दे सकता है, लेकिन वे मौजूद हैं। –

7

डेटा स्रोत, DisplayMember और ValueMember गुण इस पर नियंत्रण के लिए उपलब्ध हैं, लेकिन वे IntelliSense में प्रदर्शित नहीं होते: MSDN

आप हालांकि उन्हें इस्तेमाल करने में सक्षम होना चाहिए।

+0

ठीक है सर धन्यवाद। मै कोशिश करूँगा। – yonan2236

+0

वाह, यह इंटेलिजेंस में क्यों प्रदर्शित नहीं होता है?यह बेहद उलझन में है। –

+0

ठीक है, क्योंकि उन गुणों पर ब्राउज़ करने योग्य एट्रिब्यूट में झूठ का मूल्य है। –

2

हां चेक किए गए लिस्टबॉक्स में 'प्रदर्शन सदस्य' और 'मूल्य सदस्य' गुण हैं।

आप गुण सेट कर सकते हैं जैसा कि आप बता गया में कार्य करें:

public void PopulateListBox(System.Windows.Forms.CheckedListBox lb, string displayMember, string valueMember, DataTable data) 
    { 
     lb.DataSource = data; // where data is the datatable. datatable filled up with //data fetched from database. 
     lb.ValueMember = valueMember; 
     lb.DisplayMember = displayMember; 
    } 
0

The french documentation कहते हैं: cette propriété ne s'applique क़दम à cette classe। "यह संपत्ति इस कक्षा के लिए लागू नहीं है"। पाठ की यह छोटी पंक्ति हमारे दस्तावेज़ में दिखाई नहीं दे रही है ...

संबंधित मुद्दे