2009-07-29 15 views
7

दिखा ADO.NET DataView बनाएँ, एक एक DataView कि केवल एक उचित एक दिया DataTable की DataColumn के सबसेट शामिल बना सकते हैं?सी # & नेट में केवल चयनित कॉलम

संबंधपरक बीजगणित के संदर्भ में, एक "चयन" ऑपरेशन (σ) करने के लिए RowFilter असाइन करता है। कोई "प्रक्षेपण" ऑपरेशन कैसे करेगा (π)?

उत्तर

12

आप ऐसा नहीं कर सकते, लेकिन आप केवल कॉलम के साथ तालिका की एक प्रतिलिपि बना सकते हैं आप चाहते हैं:

DataView view = new DataView(table); 
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn"); 

वैकल्पिक रूप से आप पंक्ति नहीं चुनी गई स्तंभों के लिए अलग-अलग मान है कि लौट सकते हैं:

DataView view = new DataView(table); 
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn"); 
+0

धन्यवाद, थॉमस। मैं "table2" में गणना कॉलम शामिल करने में सक्षम होना चाहूंगा। उदाहरण के लिए, देखें। टोटेबल ("फर्स्ट कॉलम * 2", "सेकेंड कॉलम> 0", "टीआरआईएम (थर्ड कॉलम)")। – JaysonFix

+0

उन्हें तालिका में बनाएं और उन्हें ToTable में चुनें, या इसे बनाने के बाद उन्हें table2 में जोड़ें ... –

+1

आप डेटाटाबे के डिफ़ॉल्ट दृश्य का उपयोग करके इसे छोटा कर सकते हैं: '$ DataTable.DefaultView.ToTable (" FirstColumn "," SecondColumn "," थर्डकॉलम ");' –

1

ठीक है, मुझे ऐसा करने के लिए "चाहने" के लिए कोई कारण नहीं दिख रहा है ... याद रखें, डेटाव्यू मूल तालिका में पंक्तियों के पॉइंटर्स की एक सूची है, और स्पष्ट रूप से कॉलम को हटाने का कोई तरीका नहीं है मूल तालिका ... कम से कम उस तालिका का उपयोग करने वाले हर दूसरे फ़ंक्शन को प्रभावित किए बिना ... केवल 12 कॉलम का उपयोग करें ...

-1

DataSet और इसके संबंधित प्रकारों में संबंधपरक संचालन करने की कोई क्षमता नहीं है।

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