Datatable LINQ select datarow 只返回一行以及如何排序
Posted
技术标签:
【中文标题】Datatable LINQ select datarow 只返回一行以及如何排序【英文标题】:Datatable LINQ select datarow only returning one row and how to order 【发布时间】:2014-07-16 15:27:41 【问题描述】:我有一个包含 4 列的数据表
- A|1|苹果|萝卜 - A|2|水|水果 - B|1|水|橙 - B|2|水|芒果 - C|1|你好|世界我想要做的是选择不同的 A 列。然后我想根据 A 列选择不同的列 2、3、4。
这就是我用来选择不同列 A 的方法。我对第一部分的问题是如何按列 A (linkControl) 排序。成员是我的数据表,这将返回每个不同的列 a
var linkControl = Member.AsEnumerable()
.Select(row => new
linkCon = row.Field<string>("LinkControl")
)
.Distinct();
然后因为我想迭代每个 linkCon,我执行以下操作,即使每个 linkCon 大约有 20 个数据行,它也只返回一个数据行。如何返回所有行?
foreach (var linkC in linkControl)
var linkControllink = (from DataRow dr in ADMemberships.Rows
where dr["LinkControl"] == linkC.linkCon
orderby (string)dr["URLDescription"]
select dr);
foreach (var lcl in linkControllink)
//only has one row in it
【问题讨论】:
【参考方案1】:我不得不将代码更改为where dr["LinkControl"].ToString() == linkC.linkCon.ToString()
,我真的不明白为什么。
【讨论】:
以上是关于Datatable LINQ select datarow 只返回一行以及如何排序的主要内容,如果未能解决你的问题,请参考以下文章