如何从DataView中的列获取值?

Xai*_*oft 9 c# asp.net dataview

我有一个数据视图定义为:

DataView dvPricing = historicalPricing.GetAuctionData().DefaultView;
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,但它返回的是名称,而不是列中的值:

dvPricing.ToTable().Columns["GrossPerPop"].ToString();
Run Code Online (Sandbox Code Playgroud)

BFr*_*ree 7

您需要指定要获取值的行.我可能更喜欢table.Rows [index] ["GrossPerPop"].ToString()

  • 我需要多少声誉来删除以上三条评论,包括这一条评论!?大声笑 (4认同)

Mar*_*ell 5

你需要用a DataRow来获取一个值; 值存在于数据中,而不是列标题中.在LINQ中,有一个可能有帮助的扩展方法:

string val = table.Rows[rowIndex].Field<string>("GrossPerPop");
Run Code Online (Sandbox Code Playgroud)

或没有LINQ:

string val = (string)table.Rows[rowIndex]["GrossPerPop"];
Run Code Online (Sandbox Code Playgroud)

(假设数据一个字符串......如果没有,请使用ToString())

如果你有一个DataView而不是一个DataTable,那么同样的工作DataRowView:

string val = (string)view[rowIndex]["GrossPerPop"];
Run Code Online (Sandbox Code Playgroud)