次のような、特定のクライアントの従業員からのタイムシート エントリを表す行のテーブルを示す 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
上記のテーブルのデータは、2 つの異なるテーブル (各クライアントに入力された時間を保持する Timesheet Entries テーブルと、クライアントの請求金額を保持する InvoiceEntries テーブル) から取得されます。データの DataTable は、クエリを実行して 2 つのテーブルを結合し、次のようなテーブルを返すことによって設定されます。
Date|Employee|Client|Hours Worked|Rate|Total|Invoiced Amount|Annual Fees
年会費は同じクライアントのすべての行で同じだったので、クライアントごとにデータ行をグループ化し、レポートの下部に合計を表示したいので、コード ビハインドでプログラムで新しい DataTable を作成し、それを使用して入力します行を介してループを実行してDBクエリから取得したDatatableのデータですが、会社を変更した場合にのみ値を持つようにAnnualFeesフィールドを操作し、それ以外の場合はゼロに設定します。したがって、レポート テーブルの下部にある合計フィールドを計算すると正しい値が得られるように、各クライアントの年会費フィールドが 1 回だけ入力されるようにします。
これは非常にうまく機能しましたが、ユーザーは、レポートが実行されるときに、2013 年の年会費がある場合 (レポート期間が 2 年以上をカバーするように)、各年ごとに個別にリストしたいと要求しました。クライアントのタイムシート エントリの合計。
年会費が存在する年数が不明であるため、明らかに、データ テーブルで余分なフィールドを使用することはできません。
これを実装できるアイデアはありますか?
ありがとう