2011-09-26 15 views
5

से चयनित कॉलम चयनित कॉलम डेटाटेबल कैसे प्राप्त करें?
उदाहरण के लिए मेरे बेसटेबल में तीन कॉलम हैं,
कॉलम ए,
कॉलम बी और
कॉलमसी।

अब मध्यवर्ती परिचालन के हिस्से के रूप में, मुझे केवल कॉलम ए से सभी पंक्तियों को पुनर्प्राप्त करने की आवश्यकता है। क्या डेटाटेबल की तरह कोई पूर्वनिर्धारित सूत्र है? चयन करें?डेटाटेबल

+0

केवल एक कॉलम खींचने का उद्देश्य क्या होगा? यदि आप वहां तीनों कॉलम छोड़ देते हैं, तो आप डेटा के माध्यम से लूपिंग करते समय हमेशा 'डेटाटेबल.रोज़ [i] ["कॉलम ए"] के साथ पहला कॉलम ले सकते हैं। – mellamokb

+1

मुझे कॉलम-ए के विशिष्ट पंक्ति मानों को एक सूची बॉक्स में सेट करने की आवश्यकता है। – Krishna

+0

मैं डेटा व्यू बना सकता हूं और वहां से अनावश्यक कॉलम को खत्म कर सकता हूं। लेकिन यह दो-चरणीय प्रक्रिया और चोक करता है यदि डेटाटेबल आकार बड़ा है। – Krishna

उत्तर

8

DataView.ToTable Method.

DataView view = new DataView(MyDataTable); 
DataTable distinctValues = view.ToTable(true, "ColumnA"); 

अब आप चुन सकते हैं।

DataRow[] myRows = distinctValues.Select(); 
+0

मैंने इसी तरह का इस्तेमाल किया जिसे मैंने पहले ही टिप्पणियों में पोस्ट किया था। यह मेरे लिए ठीक काम करता है। बस किसी भी अन्य बेहतर समाधान की तलाश है जो प्रदर्शन को प्रभावित नहीं करता है। वैसे भी मैं इसके लिए अभी ठीक हूँ। बहुत बहुत धन्यवाद। – Krishna

1

इस सवाल से: How to select distinct rows in a datatable and store into an array आप अलग-अलग मान प्राप्त कर सकते हैं:

DataView view = new DataView(table); 
DataTable distinctValues = view.ToTable(true, "ColumnA"); 

आप एक बड़े DataTable के साथ काम कर और प्रदर्शन के बारे में परवाह कर रहे हैं, मैं में .NET 2.0 निम्नलिखित की तरह कुछ सुझाव है । मुझे लगता है कि आपके द्वारा प्रदर्शित किए जा रहे डेटा का प्रकार एक स्ट्रिंग है इसलिए कृपया आवश्यकतानुसार बदलें।

Dictionary<string,string> colA = new Dictionary<string,string>(); 
foreach (DataRow row in table.Rows) { 
    colA[(string)row["ColumnA"]] = ""; 
} 
return colA.Keys; 
+0

पंक्तियों की न्यूनतम संख्या लगभग 50K होगी और यह सभी 26 कॉलमों के लिए लागू की जानी चाहिए। तो foreach, के लिए और जबकि loops सवाल से बाहर हैं। – Krishna

+0

वैसे भी, उपर्युक्त समाधान मेरे लिए काम करता है। मुझे यकीन है कि आपका समाधान छोटे डेटा ऑब्जेक्ट्स के लिए बिल्कुल सही होगा। – Krishna