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));
dt.Rows.Add(new string[] { item.KeyName, item.... });
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));