我正在尝试将查询转换为将在datagridview中显示的数据表,以便他们可以选择相应的行。
我收到此错误:
无法转换类型'<> f__AnonymousType1`5 [System.Int32,System.String,System.String,System.String,System.Int32]'键入' System.IConvertible' .Couldn&t;< {id_moNumber = 66856,moNumber1 = 81262,moOrder = 27208,moClient = Rawlings,moQty = 26}>在ID Num专栏中。预期类型是Int32。"}
我的代码如下:
foreach (var badMO in badMOs)
{
var possibleFixes = dbReports.MoNumbers
.Where(q => (!string.IsNullOrEmpty(badMO.moNumber) &&
(q.moNumber1 == badMO.moNumber ||
q.moOrder == badMO.moNumber)) ||
(!string.IsNullOrEmpty(badMO.moOrder) &&
(q.moOrder == badMO.moOrder || q.moNumber1 == badMO.moOrder)))
.Select(s => new { s.id_moNumber, s.moNumber1,
s.moOrder, s.moClient, s.moQty })
.ToList();
foreach (var moFound in possibleFixes)
{
dtFixes.Rows.Add(possibleFixes.ToArray());
}
curJob.Rows.Add(badMOs);
MOFixForm fixForm = new MOFixForm(dtFixes, curJob);
fixForm.ShowDialog();
}
我在foreach moFound in possibleFixes
收到错误。
看着它我非常接近,但我不明白要转换查询的内容,以使其与IConvertible
一起使用
答案 0 :(得分:0)
更换此部件......
dtFixes.Rows.Add(possibleFixes.ToArray());
......这个......
dtFixes.Rows.Add(moFound);
您要为网格中的每一行添加整个列表,而不仅仅是当前项目。
同样适用于:
curJob.Rows.Add(badMOs);
应该是:
curJob.Rows.Add(badMO);