原創|使用教程|編輯:鄭恭琳|2020-01-16 11:07:55.300|閱讀 316 次
概述:通常,需要根據任何條件或輸入參數來設置報表中的各種圖像。List & Label報表生成器的用戶遇到了此問題,但是無法從.NET代碼插入圖像。本文就向大家展示如何在FastReport.Net報表生成器中實現這一點。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
通常,需要根據任何條件或輸入參數來設置報表中的各種圖像。List & Label報表生成器的用戶遇到了此問題:
有沒有辦法以編程方式從.net代碼將內嵌圖像插入List & Label文檔中?
但是,用戶找不到解決方案:
不幸的是,無法從.NET代碼插入圖像。僅當在List & Label設計器中使用報表時,才可能這樣做。
接下來,我想展示如何在FastReport.Net報表生成器中實現這一點。
在創建報表時,我們直接使用其所有對象——創建它們,將它們添加到報表頁面,設置屬性。考慮一個簡單的示例,該示例根據帶有圖片的用戶應用程序的代碼創建報表
//Create instance of class Report Report report = new Report(); //Add report page ReportPage page = new ReportPage(); report.Pages.Add(page); page.CreateUniqueName(); //App data band DataBand data = new DataBand(); //Add data band to page page.Bands.Add(data); data.CreateUniqueName(); data.Height = Units.Centimeters * 1; //Set band height //Create picture object PictureObject pic = new PictureObject(); pic.Bounds = new RectangleF(0, 0, Units.Centimeters * 5, Units.Centimeters * 5); //Set object bounds pic.Image = new Bitmap("../../App_Data/snow_flake.ico"); //Set picture pic.Parent = data; //Set picture parent object pic.CreateUniqueName(); report.Prepare(); //Build report report.Show(); //Show report
這是一個只有一個“data”band的報表的非常簡單的示例。由于此報表完全由程序代碼創建,因此使用圖片創建對象并將其放入報表中沒有問題。根據代碼的邏輯,根據代碼創建報表可以根據需要進行任意更改。
考慮另一種情況。假設您已經在設計器中創建了報表模板。您要根據程序的邏輯更改報表中的圖片。在這種情況下,報表模板應該已經有一個Picture對象,您只需從用戶應用程序代碼中替換圖片本身即可。這是程序中的代碼:
//Create report object Report report = new Report(); //Load report template into the report obj report.Load("../../App_Data/Picture.frx"); //Get picture object from the report template PictureObject pic = report.FindObject("Picture1") as PictureObject; //Set object bounds pic.Bounds = new RectangleF(0, 0, Units.Centimeters * 5, Units.Centimeters * 5); //Set the image pic.Image = new Bitmap("../../App_Data/snow_flake.ico"); //Build report report.Prepare(); //Show report report.Show();
在這里,我們在報表模板中找到一個帶有圖片的對象,并根據需要更改其屬性。
最后,Picture對象的第三個版本來自內置的報表腳本。報表腳本允許您根據需要更改報表中的模式和數據。您可以將Picture對象預先添加到模板中,也可以將其直接添加到報表腳本中。確實,無限的靈活性。無需使用自定義應用程序來管理報表的內容。對我來說,這是一個很大的好處,因為無需編輯應用程序代碼。在報表腳本中設置圖像的示例非常簡單:
Picture1.Image = new Bitmap("C:/Users/Dimon/source/repos/PictureSetting/PictureSetting/App_Data/snow_flake.ico");
您只需要確定要更改圖片的事件,例如,可以將Picture對象用于BeforePrint事件。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn