編程之道

          無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯(lián)系我

          ActiveReport之事件篇

          1.?????? 只觸發(fā)一次的事件:

          ReportStart 在報表啟動時觸發(fā)。該事件在 DataInitialize 之前,在這里可以整個報表都要用到的對象或變量作初始化,也可以設(shè)置子報表。

          DataInitialize :這個事件在前面的幾篇隨筆中經(jīng)常出現(xiàn),經(jīng)常在這里取數(shù)據(jù),綁定數(shù)據(jù)源,設(shè)置報表的 Fileds 屬性等。

          ReportEnd 在報表加載完成后觸發(fā)。

          2.?????? 多次觸發(fā)的事件:

          FetchData 在處理每一條數(shù)據(jù)時都會觸發(fā),如果是采用綁定數(shù)據(jù)源的方式,就不需要再作對 Fields 中每個 Field Value 賦值。如果是從自定義的對象集合中提取數(shù)據(jù),就要在這里給 Fields 賦值。而且,使用自定義集合的時候要自己設(shè)置事件的 eArgs 參數(shù)的 EOF 屬性,該屬性用來判斷是否顯示到了最后一條記錄,如果是,就設(shè)置為 true ,并且直接返回。具體的代碼可以參看以前的隨筆。

          PageStart 在報表的每頁生成的時候觸發(fā),在這里作針對每個頁的處理,最常見的就是顯示頁碼。

          PageEnd 在報表的每也生成完成的時候觸發(fā)。

          3.?????? 區(qū)域的事件:

          每個區(qū)域( PageHeader Detail PageFooter )都有 Format BeforePrint AfterPrint 事件。最好不要在這幾個事件中操作報表的 Fields 集合,而應(yīng)該在 DataInitialize FetchData 中進行。

          Format 在數(shù)據(jù)加載并綁定后觸發(fā),只有在這里才可以設(shè)置某個區(qū)域的高度。

          BeforePrint 在區(qū)域被生成前觸發(fā),在這里如果設(shè)置區(qū)域的高度是不會有效果的,而且不要在這里操作數(shù)據(jù)源。

          AfterPrint 在區(qū)域已經(jīng)被生成并描畫出后發(fā)生,可以在該事件里直接在畫布上進行描畫操作。

          posted on 2006-08-03 13:16 瘋流成性 閱讀(1328) 評論(1)  編輯  收藏 所屬分類: .NET

          評論

          # re: ActiveReport之事件篇 2008-03-20 17:16 guanmy

          有很多事件寫的太少  回復(fù)  更多評論   

          主站蜘蛛池模板: 永安市| 保亭| 定兴县| 德令哈市| 四川省| 四子王旗| 凌云县| 河曲县| 噶尔县| 金坛市| 华亭县| 平安县| 阿拉善左旗| 西平县| 上高县| 郸城县| 阳谷县| 宜昌市| 静安区| 灌云县| 山丹县| 都江堰市| 施秉县| 龙井市| 奉贤区| 武宣县| 沾化县| 固原市| 宜丰县| 资阳市| 松原市| 临邑县| 共和县| 司法| 东阿县| 荆门市| 宜州市| 晴隆县| 贵州省| 神木县| 靖远县|