2008-12-22 16 views
8

मैं एक DataView परिभाषित किया है:डेटाव्यू में कॉलम से मूल्य कैसे प्राप्त करें?

DataView dvPricing = historicalPricing.GetAuctionData().DefaultView; 

यह मैं क्या कोशिश की है, लेकिन यह नाम, नहीं स्तंभ में मान देता है:

dvPricing.ToTable().Columns["GrossPerPop"].ToString(); 

उत्तर

7

आप के लिए पंक्ति निर्दिष्ट करने की आवश्यकता जो आप मूल्य प्राप्त करना चाहते हैं। मैं शायद तालिका की तर्ज पर अधिक होगा। पंक्तियां [अनुक्रमणिका] ["ग्रॉसपेरपॉप"]। ToString()

+0

ठीक है, धन्यवाद, मैं इस बात का डर था। – Xaisoft

+0

डर क्यों? आप अन्यथा मूल्य कैसे प्राप्त करेंगे? – configurator

+0

मुझे पता है। बस खुद को सोच रहा हूँ। – Xaisoft

4

आपको मूल्य प्राप्त करने के लिए DataRow का उपयोग करने की आवश्यकता है; डेटा में मान मौजूद हैं, कॉलम हेडर नहीं।

string val = table.Rows[rowIndex].Field<string>("GrossPerPop"); 

या LINQ के बिना:

string val = (string)table.Rows[rowIndex]["GrossPerPop"]; 

(डेटा एक स्ट्रिंग है यह सोचते हैं ... यदि नहीं, तो ToString() का उपयोग करें)

LINQ में, वहाँ एक विस्तार विधि है कि मदद कर सकता है है

यदि आपके पास DataTable की बजाय DataView है, तो यह DataRowView:

के साथ काम करता है
string val = (string)view[rowIndex]["GrossPerPop"]; 
2

@Marc Gravell .... आपके उत्तर में वास्तव में इस प्रश्न का उत्तर है। आप डेटा दृश्य से डेटा vb.NET में किसी के लिए भी नीचे

string val = (string)DataView[RowIndex][column index or column name in double quotes] ; 
// or 
string val = DataView[RowIndex][column index or column name in double quotes].toString(); 
// (I didn't want to opt for boxing/unboxing) Correct me if I have misunderstood. 
0

के रूप में उपयोग कर सकते हैं:

Dim dv As DataView = yourDatatable.DefaultView 
dv.RowFilter ="query " 'ex: "parentid = 1 " 
for a in dv 
    dim str = a("YourColumName") 'for retrive data 
next 
संबंधित मुद्दे