私は次のように定義されたデータビューを持っています:
DataView dvPricing = historicalPricing.GetAuctionData().DefaultView;
これは私が試したものですが、列の値ではなく名前が返されます。
dvPricing.ToTable().Columns["GrossPerPop"].ToString();
値を取得する行を指定する必要があります。私はおそらくtable.Rows [index] ["GrossPerPop"]。ToString()の線に沿っているでしょう
値を取得するには、DataRow
を使用する必要があります。値は、列ヘッダーではなくデータに存在します。 LINQには、次のような拡張メソッドがあります。
_string val = table.Rows[rowIndex].Field<string>("GrossPerPop");
_
またはLINQなし:
_string val = (string)table.Rows[rowIndex]["GrossPerPop"];
_
(データを想定is文字列...そうでない場合は、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