【发布时间】:2013-01-21 12:09:48
【问题描述】:
我需要数据表中的特定列将其绑定到 DataGridView。我有以下专栏。
Work1 价格 面积 que Len bre 尺寸
A 12 x 1 1.2 1 1.2
A 12 y 2 2 2.2 4.4
A 12 z 3 11 1 11
上面是我的数据表,我需要指定列,即 Area, Que, bre, size [Que * (bre * Len)]
为了获得这种类型的数据,我使用了 Linq-to-DataTable 查询。
var data = dt.AsEnumerable().Select
(r => new
{
Area = r.Field<string>("Area"),
Que = r.Field<int>("Quantity"),
Breath = r.Field<decimal>("Breath"),
Length = r.Field<decimal>("Length"),
totLen = r.Field<int>("Quantity") * (r.Field<decimal>("Breath") * r.Field<decimal>("Length"))
}).ToList();
但它不起作用,它没有价值,我不知道为什么? 谁能告诉我该怎么做? 如果有任何其他替代选项可用,我很乐意看到......
【问题讨论】:
-
什么没有给出任何价值,整个查询或字段
totLen?您如何尝试评估查询,您在哪里使用它?您确定没有(默默地)捕获的异常吗? -
它给出错误“指定的演员表无效。”
-
所以很明显,您需要将字段转换为正确的类型。检查表中每列的数据类型,并在 linq 查询中进行相应的转换。
标签: c# datatable linq-to-dataset