Groupヘッダ・フッタのTextBoxの値を明細データによって制御したい [ActiveReports] [ActiveReports]
----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
ActiveReports 2.0J Standard
----------------------------------------------------------
タイトルの文言では、いまいち何を言いたいかわかりにくい。。。
語彙不足。。。
さて、何がしたいかと申しますと。
明細データを項目の属性別に値を集計するときに、その属性毎にGroupHeader(又はFooter)のTextBoxの文字を変えたいような場合、ですね。
言い換えると、項目の属性別にグルーピングして、グループごと名前の表示を変えたいってことです。
(例えば・・・コーラ、オレンジジュース、お茶・・・飲料合計金額、パン、おにぎり、カップ麺・・・食料品合計金額、みたいな。伝わった?汗)
ActiveReportsは、めんどくさい(のか楽チンなのかよくわからない)ことに、データの数だけ勝手にレポートに出力してくれるんですが、各Sectionのデータの出力タイミングがどうにも制御しずらく、Detail SectionのTextBoxのデータをGroupFooter のFormatイベントで引っ張ってきても、データ行が一つズレていたりして、Groupの制御がうまくいかなかったんです。
なので、色々あーだこーだ試行錯誤した結果、 やっと自分なりに汎用的(?)な解決策が。
制御したいGroupのSectionにTextBoxを置いて、Visible = False とする。
このTextBoxをInitializeフィールドで、属性のデータを持つDataFieldsにバインドする。
属性TextBoxの値によって行う制御を、各SectionのFormatイベントに記述する。
これでどーにか、Group別にうまく制御することができましたとさ。
まぁ気づけばどうってことないんですけどね。。。
(今更ですが)文章が下手ですいません。
ActiveReports、うだうだ悩むよりガチャガチャイジって、理屈より経験的に覚えようかと思います。
コメント 0