سؤال

لدي DataView المعرفة على النحو التالي:

DataView dvPricing = historicalPricing.GetAuctionData().DefaultView;

هذا هو ما حاولت، لكنه بإرجاع الاسم، وليس القيمة في العمود:

dvPricing.ToTable().Columns["GrossPerPop"].ToString();
هل كانت مفيدة؟

المحلول

تحتاج إلى تحديد الصف الذي تريد الحصول عليه. ربما أكون أكثر من خطوط الطاولة. ولا تقطع [فهرس] ["grossperpop"].

نصائح أخرى

تحتاج إلى استخدام DataRow للحصول على قيمة؛ توجد القيم في البيانات، وليس رؤوس الأعمدة. في LINQ، هناك طريقة تمديد قد تساعد:

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

أو بدون LINQ:

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

(على افتراض البيانات يكون سلسلة ... إذا لم يكن كذلك، استخدم ToString())

اذا كان لديك DataView بدلا من DataTable, ، ثم نفس الأعمال مع DataRowView:

string val = (string)view[rowIndex]["GrossPerPop"];

@ marc gravell .... إجابتك لديها بالفعل إجابة هذا السؤال. يمكنك الوصول إلى البيانات من عرض البيانات على النحو التالي

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.

لأي شخص في vb.net:

Dim dv As DataView = yourDatatable.DefaultView
dv.RowFilter ="query " 'ex: "parentid = 1 "
for a in dv
  dim str = a("YourColumName") 'for retrive data
next
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top