【问题标题】:Summing time in RDLC reportRDLC 报告中的求和时间
【发布时间】:2015-01-06 11:17:34
【问题描述】:

在我的 RDLC 报告中,我显示员工的工作时间。

我想总结每个员工的时间。我正在使用可为空的 timeSpan 类型返回记录集中的工作时间,并在报告中将它们格式化为 hh:mm,如下所示:

7:30   
4:45  
5:30  
7:30  
7:30

围绕同一问题such as this and this 提出了许多其他问题,但似乎没有一个可以接受的答案。

This question 几乎就是我想要的。除了它显示天,小时,分钟,秒。
但是我的用户只想要总小时数和分钟数,没有天数,即在这种情况下,我希望看到 32 小时 45 分钟。

7:30   
4:45  
5:30  
7:30  
7:30

---------
Total:    32:45

我尝试了以下公式,但出现#error:

=TimeSpan.FromMinutes(Sum(Fields!Hours.Value))

还有:

=Sum(Fields!Hours.Value)

这个给了我几天、几小时、几分钟......所以很接近,但我只需要总 hh:mm:

=TimeSpan.FromTicks(Sum(Fields!Hours.Value))

这可能吗?

【问题讨论】:

    标签: c# visual-studio-2013 rdlc timespan


    【解决方案1】:

    我会尽可能地尝试这些零件。

    =(TimeSpan.FromTicks(Sum(Fields!Hours.Value)).Days * 24 + TimeSpan.FromTicks(Sum(Fields!Hours.Value)).Hours).ToString +":" + TimeSpan.FromTicks(Sum(Fields!Hours.Value)).Minutes.ToString("d2")

    在这种情况下,分钟将包含您的 :45,但字符串格式必须允许以小时为单位的单个数字显示 2 位数字,因此如果少于 10 分钟,则可能会出现前导零。

    【讨论】:

    • 完美,正是我所需要的。非常感谢 Drapp,这让我烦恼了好几个小时。
    【解决方案2】:

    试试这个..为我工作。

    =IIf((SUM(Cint(Split(Fields!Call_Duration.value,":").GetValue(0))) + (SUM(Cint(Split(Fields!Call_Duration.Value,":").GetValue(1)))+ Sum(Cint(split(Fields!Call_Duration.Value,":").GetValue(2)))\60)\60 ) < 10,"0","" ) +(SUM(Cint(Split(Fields!Call_Duration.value,":").GetValue(0))) + (SUM(Cint(Split(Fields!Call_Duration.Value,":").GetValue(1)))+ Sum(Cint(split(Fields!Call_Duration.Value,":").GetValue(2)))\60)\60 ).ToString +IIf(((SUM(Cint(Split(Fields!Call_Duration.Value,":").GetValue(1))) + Sum(Cint(split(Fields!Call_Duration.Value,":").GetValue(2)))\60) Mod 60) < 10,":0",":" ) + ((SUM(Cint(Split(Fields!Call_Duration.Value,":").GetValue(1))) + Sum(Cint(split(Fields!Call_Duration.Value,":").GetValue(2)))\60) Mod 60).ToString +IIf((Sum(Cint(split(Fields!Call_Duration.Value,":").GetValue(2))) Mod 60) < 10,":0",":" ) + (Sum(Cint(split(Fields!Call_Duration.Value,":").GetValue(2))) Mod 60).ToString

    【讨论】:

    • 兄弟,这是 6 年前的帖子,答案已被接受。 OP 很可能会继续前进。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2019-01-08
    相关资源
    最近更新 更多