轉帖|其它|編輯:郝浩|2011-10-27 13:47:06.000|閱讀 513 次
概述:上篇隨筆演示了在ActiveReport for .net中如何從對象集合中提取數據。本文簡單介紹如何使用子報表來顯示主從表中的數據。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
上篇隨筆演示了在ActiveReport for .net中如何從對象集合中提取數據。本文簡單介紹如何使用子報表來顯示主從表中的數據。
1、在需要顯示主從表中的數據時,使用子報表能夠提供很大的靈活性,一般就是把主表的信息顯示在detail中,如果要每頁的上方都要顯示主表,就可以放在PageHeader中。再把子表的信息放在Detail中,然后把子報表中的控件直接綁定到數據源上或者使用上篇隨筆中的提到的方式從對象集合中提取數據。
2、 使用子報表:
新建報表,然后在工具箱上可以看到SubReport控件,拖放一個控件到Detail部分,用此控件來加載子報表。
再新建一個報表,命名為SubReport1 ,接下來在主報表中寫代碼,在頁面設計器上選中Detail部分,在屬性窗口切換到事件欄,雙擊Format,將會產生Detail_Format事件,下面就要在這個事件里指定子報表控件所要加載的報表。
3、由于Detail部分會進行重復顯示的,所以,只能指定一次報表源,在這里,我們按照下面的例子:
ActiveReport sub = null;
private void Detail_Format(object sender, System.EventArgs eArgs)
{
if ( sub == null )
{
sub = new ActiveReports2();
this.SubReport.Report = sub;
}
}
先定義一個全局的子報表,然后在Detail_Format事件中對其進行初始化。
4、還有要注意的一點是,在使用完子報表后要將其釋放,銷毀掉,具體的代碼放在主報表的ReportEnd事件中,例如:
private void ActiveReports1_ReportEnd(object sender, System.EventArgs eArgs)
{
sub.Document.Dispose();
sub.Dispose();
sub = null;
}
5、下面剩下的工作就是擺放控件并設置顯示的字段了,加載數據等等了,前面的隨筆都有介紹。
下篇隨筆中將介紹如何使用ActiveReport for .net開發交叉報表。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園