2013-01-21 16 views
0

我有一個RDLC報告的表示每個代表從僱員一個時間表條目爲特定客戶機的行,如表填充一個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 

上表的數據來自兩個不同的表格,包含爲每個客戶端輸入小時數的時間表條目表格,以及包含客戶端發票金額的InvoiceEntries表格。對於數據的數據表通過運行一個查詢連接兩個表,並返回一個表,如填充:

Date|Employee|Client|Hours Worked|Rate|Total|Invoiced Amount|Annual Fees 

現在,因爲年費是針對同一客戶的所有行相同,因爲我想按客戶端對數據行進行分組,並且總計位於報表底部,我在後面的代碼中編程創建了一個新的DataTable,我使用來自數據庫的數據填充數據表中的數據,我通過運行循環來獲取數據庫查詢它的行,但我操縱AnnualFees字段只有當我更改公司時纔有值,否則我將它設置爲零。因此,我確保每個客戶的年費字段僅填充一次,以便在計算報表底部的總計字段時,我可以得到正確的值。

這個效果非常好,但現在用戶要求在報告運行時,如果有2013年的年度費用(以便報告期限涵蓋兩年或更多),那麼希望讓他們在每個客戶的時間表條目總數後單獨列出。

很明顯,我不能再在數據表中使用額外的字段,因爲年費的存在年數未知。

有沒有人有一個想法,我可以實現這一點?

謝謝

回答

0

我解決了這個問題;爲了將來的參考,這裏是我所做的: 我在我的數據表中添加了一個名爲RowType的新字段。 在代碼隱藏方面,我進行了兩次數據庫調用,一次是檢索時間表條目,另一次是檢索每家公司的年費。使用它們,我構建了用於綁定報表的數據表。包含時間表條目的行的RowType字段等於「項目費用」,而包含年費的行將其設置爲「年費」。

然後,我根據新字段在報表上創建了一個額外的RowGroup,並相應地設置其可見性和排序參數,以在RowType具有一個值或另一個值時顯示/不顯示。

這似乎是工作。