轉帖|其它|編輯:郝浩|2011-11-01 13:41:31.000|閱讀 841 次
概述:上篇隨筆介紹了在ActievReport中導出報表,本篇隨筆簡單介紹ActiveReport中的重要事件。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
上篇隨筆介紹了在ActievReport中導出報表,本篇隨筆簡單介紹ActiveReport中的重要事件。
1、只觸發(fā)一次的事件:
ReportStart:在報表啟動時觸發(fā)。該事件在DataInitialize 之前,在這里可以整個報表都要用到的對象或變量作初始化,也可以設置子報表。
DataInitialize :這個事件在前面的幾篇隨筆中經(jīng)常出現(xiàn),經(jīng)常在這里取數(shù)據(jù),綁定數(shù)據(jù)源,設置報表的Fileds屬性等。
ReportEnd :在報表加載完成后觸發(fā)。
2、多次觸發(fā)的事件:
FetchData : 在處理每一條數(shù)據(jù)時都會觸發(fā),如果是采用綁定數(shù)據(jù)源的方式,就不需要再作對Fields中每個Field的Value賦值。如果是從自定義的對象集合中提取數(shù)據(jù),就要在這里給Fields賦值。而且,使用自定義集合的時候要自己設置事件的eArgs參數(shù)的EOF屬性,該屬性用來判斷是否顯示到了最后一條記錄,如果是,就設置為true,并且直接返回。具體的代碼可以參看以前的隨筆。
PageStart :在報表的每頁生成的時候觸發(fā),在這里作針對每個頁的處理,最常見的就是顯示頁碼。
PageEnd :在報表的每也生成完成的時候觸發(fā)。
3、區(qū)域的事件:
每個區(qū)域(PageHeader,Detail ,PageFooter)都有Format,BeforePrint和AfterPrint事件。最好不要在這幾個事件中操作報表的Fields集合,而應該在DataInitialize和FetchData中進行。
Format :在數(shù)據(jù)加載并綁定后觸發(fā),只有在這里才可以設置某個區(qū)域的高度。
BeforePrint:在區(qū)域被生成前觸發(fā),在這里如果設置區(qū)域的高度是不會有效果的,而且不要在這里操作數(shù)據(jù)源。
AfterPrint:在區(qū)域已經(jīng)被生成并描畫出后發(fā)生,可以在該事件里直接在畫布上進行描畫操作。
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園