我有一个 RDLC 报告,其中显示了一个行表,每个行代表特定客户的员工的时间表条目,例如:
Date Client Employee |Work Type |Hours Rate Total Total Invoiced Profit 2012-01-20|Client A|Employee 1|Project A |3.00|30.00|90.00|120.00 |30.00 2012-02-20|Client A|Employee 2|Project B |2.00|40.00|80.00|100.00 |20.00 .................................................................... Totals Client A 5.00|70.00|170.00|220.00 |50.00 Company annual Fee 2012 150.00 Total PL 200.00
上表的数据来自两个不同的表,Timesheet Entries 表保存为每个客户输入的小时数,InvoiceEntries 表保存客户的发票金额。数据的 DataTable 是通过运行查询 JOINing 两个表并返回一个表来填充的,例如:
Date|Employee|Client|Hours Worked|Rate|Total|Invoiced Amount|Annual Fees
现在,由于同一客户的所有行的年费都相同,并且因为我想按客户对数据行进行分组并在报告的底部有总计,我以编程方式在后面的代码中创建了一个新的 DataTable,我使用它来填充数据表中的数据我通过在其行中运行循环从数据库查询中获得,但我操纵AnnualFees 字段以仅在更改公司时才具有值,否则我将其设置为零。因此,我确保每个客户的年费字段只填充一次,这样当我计算报表底部的总计字段时,我会得到正确的值。
效果很好,但是现在用户要求在运行报告时,如果有 2013 年的年费(以便报告期涵盖两年或更长时间),希望在每个年费之后单独列出客户的时间表条目总计。
显然我不能再在数据表中使用额外的字段,因为年费存在的年数是未知的。
有谁知道我可以实现这个?
谢谢