急,在线等。一个Linq问题

zfy244 2014-03-28 03:14:40

DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("KeyName", typeof(string)),
new DataColumn("KeyCode", typeof(string)),
new DataColumn("KeyValue",typeof(int)),
new DataColumn("DateTime", typeof(DateTime)) });
dt.Rows.Add(new object[] { "温度", "6.1.1.2", 120, new DateTime(2013, 1, 1, 0, 12, 5) });
dt.Rows.Add(new object[] { "温度", "6.1.1.2", 100, new DateTime(2013, 1, 1, 0, 12, 5) });
dt.Rows.Add(new object[] { "温度", "6.1.1.2", 50, new DateTime(2013, 1, 1, 5, 0, 0) });
dt.Rows.Add(new object[] { "温度", "6.1.1.2", 90, new DateTime(2013, 1, 1, 5, 0, 12) });
dt.Rows.Add(new object[] { "温度", "6.1.1.2", 80, new DateTime(2013, 1, 1, 0, 12, 5) });


var query = from t in dt.AsEnumerable()
group t by new { keyName = t.Field<string>("KeyName"), dateTime = t.Field<DateTime>("DateTime").ToString("yyyy-MM-dd HH") } into m
select new
{
KeyName = m.Key.keyName,
DateTime = m.Key.dateTime,
Count = m.Sum(n => n.Field<int>("KeyValue"))
};



如何把这里的返回类型Var类型变成DataRow
...全文
551 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2014-03-28
  • 打赏
  • 举报
回复
			var query = from t in dt.AsEnumerable()
						group t by new { keyName = t.Field<string>("KeyName"), dateTime = t.Field<DateTime>("DateTime").ToString("yyyy-MM-dd HH") } into m
						select new
						{
							KeyName = m.Key.keyName,
							KeyCode= m.First().Field<string>("KeyCode"),
							KeyValue= m.Sum(n => n.Field<int>("KeyValue")),
							DateTime =DateTime.ParseExact(m.Key.dateTime,"yyyy-MM-dd HH",null),
						};
			var result=dt.Clone();
			query.ToList().ForEach(q=>result.Rows.Add(q.KeyName,q.KeyCode,q.KeyValue,q.DateTime));
threenewbee 2014-03-28
  • 打赏
  • 举报
回复
foreach (var item in query) dt.Rows.Add(new string[] { item.KeyName, item.... });
bdmh 2014-03-28
  • 打赏
  • 举报
回复
遍历query结果,创建datarow

            foreach (var v in query)
            {
                //这里访问v的值,并创建datarow
                MessageBox.Show(v.DateTime);
            }

62,068

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧