ActiveReport之事件篇

1.       只觸發一次的事件:

ReportStart  在報表啓動時觸發。該事件在 DataInitialize 之前,在這裏可以整個報表都要用到的對象或變量作初始化,也可以設置子報表。

DataInitialize :這個事件在前面的幾篇隨筆中經常出現,經常在這裏取數據,綁定數據源,設置報表的Fileds 屬性等。

ReportEnd  在報表加載完成後觸發。

2.       多次觸發的事件:

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

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

PageEnd  在報表的每也生成完成的時候觸發。

3.       區域的事件:

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

Format  在數據加載並綁定後觸發,只有在這裏纔可以設置某個區域的高度。

BeforePrint  在區域被生成前觸發,在這裏如果設置區域的高度是不會有效果的,而且不要在這裏操作數據源。

    AfterPrint  在區域已經被生成並描畫出後發生,可以在該事件裏直接在畫布上進行描畫操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章