分類:[ASP.NET (VB)]
環境:
VisualStudio 2010
Asp.net
ActiveReports .NET 9.0J
SQL Server Express 2008 R2
上記環境で開発しています。
現在、ActiveReportsでの帳票を開発中なのですが、時間の集計処理がうまくいかず悩んでおります。
データベースのテーブルは、以下のようになっています。
職員コード 部署コード 職員名 勤務時間
1 1 たろう 16000
2 1 じろう 17535
3 1 はなこ 14530
4 2 さぶろう 17020
5 2 よしこ 15025
…
「勤務時間」はInteger型で持っており、「16000」であれば、「160時間00分」ということになります。
このデータをActiveReportで帳票にしようとしているのですが、時間のテキストについては
OutputFormatをh:mmにし、FetchDataイベント内で、テーブルの「16000」を「160:00」という文字列に変換して
アンバウンドフィールドに入れてやるとうまくいきますが、グループでの集計がうまくいかないようです。
(集計値が表示されず、h:mmという文字列がそのまま出力されてしまう。)
(以下のような帳票としたい)
部署:1 ←グループヘッダ
たろう 160:00
じろう 175:35
はなこ 145:30
部署計 481:05 ←グループフッタ
初めは、ActiveReportsの集計に頼らずにFetchData内で自力で集計していたのですが、
グループフッタの出力より先にFetchDataが発生するので、部署1のフッタを出力する際に、
上のデータ例での「さぶろう」のデータまで読み込まれてからグループフッタのFormatイベントが
発生するため、部署ごとの集計がうまくいかないのです。(さぶろうのデータまでが部署1の
フッタに含まれてしまう。)
何か良い方法がありましたら教えて頂ければ助かります。
よろしくお願いいたします。
|