2011-10-24 48 views
0

我有一个datagridview基于另一个datagridview的计算总和填充。 在我的DGview中,我有4列,一个数字(i ++),这个人的名字,小时,分钟。人名是分组,小时是DGview1所有小时数的总和,分钟数是DGview1所有分钟数的总和。从datagridview重新计算字段

但是可能会出现分钟总和导致例如214.是否有可能将此重新计算到另外2列中,其中小时数加上PLUS(214分钟)3小时,然后在另一列中剩余的分钟数:34?

甚至更​​好的重新计算/替换成DGview2的原始列,因此不需要再增加2列?

+0

您是否手动创建DGview2行? – mao

+0

TimeSpan interval = TimeSpan.FromMinutes(grp.Minuut); TimeSpan intervalH = TimeSpan.FromHours(grp.Sum); interval = interval + intervalH; string timeInterval = interval.ToString();工程,但我怎么能做一个包含这个时间跨度的所有单元格的总和?我发现像TimeSpan total = list.Aggregate(TimeSpan.Zero,(subtotal,t)=> subtotal.Add(t));但DGview不具有.Aggregate :( –

回答

0

使用TimeSpan Structure可以一直计算总和,也可以使用TimeSpan.FromMinutes()方法从分钟总数中创建它。

+0

时间跨度间隔= TimeSpan.FromMinutes(grp.Minuut); 时间跨度intervalH = TimeSpan.FromHours(grp.Sum); 间隔=间隔+ intervalH; 串一个时间间隔=我发现类似于TimeSpan total = list.Aggregate(TimeSpan.Zero,(subtotal,t)=> subtotal.Add()的东西,但是我怎么能做所有包含这个时间跨度的单元格的总和? (t)); 但DGview没有.Aggregate :( –

+0

我从来没有使用DGView,所以不能肯定地说,但只要它是一个集合,您可以使用.OfType ()方法将其转换为LINQ支持ed Enumerable,而不是.Aggregate()。 – Svarog