Как получить значение из столбца в DataView?
у меня есть dataview, определенный как:
DataView dvPricing = historicalPricing.GetAuctionData().DefaultView;
это то, что я пробовал, но он возвращает имя, а не значение в столбце:
dvPricing.ToTable().Columns["GrossPerPop"].ToString();
4 ответов
нужно указать строку, для которой вы хотите получить значение. Я бы, наверное, больше походил на стол.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 .... Ваш ответ на самом деле имеет ответ на этот вопрос. Вы можете получить доступ к данным из data view, как показано ниже
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