翻譯|使用教程|編輯:楊鵬連|2021-02-24 09:55:30.940|閱讀 330 次
概述:在本章中,我們將學習FastReport中使用報表的原則。我們還將仔細介紹配置FastReport.Net對話框。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport .Net是適用于Windows Forms,ASP.NET,MVC和.NET Core的全功能解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
在FastReport .NET 2021.1的新版本中,我們實現了對.NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉換為報告對象的算法已得到顯著改進。并且還添加了用于轉換數字的新功能。歡迎下載體驗。(點擊下方按鈕下載)
立即點擊下載FastReport.NET v2021.1最新版
Fastreport.NET在線購買價更低,專享85折起!趕緊加入購物清單吧!
使用代碼創建報告
讓我們考慮如何在代碼中創建一個報表。我們將創建以下報表。
Report report = new Report(); // register the "Products" table report.RegisterData(dataSet1.Tables["Products"], "Products"); // enable it to use in a report report.GetDataSource("Products").Enabled = true; // create A4 page with all margins set to 1cm ReportPage page1 = new ReportPage(); page1.Name = "Page1"; report.Pages.Add(page1); // create ReportTitle band page1.ReportTitle = new ReportTitleBand(); page1.ReportTitle.Name = "ReportTitle1"; // set its height to 1.5cm page1.ReportTitle.Height = Units.Centimeters * 1.5f; // create group header GroupHeaderBand group1 = new GroupHeaderBand(); group1.Name = "GroupHeader1"; group1.Height = Units.Centimeters * 1; // set group condition group1.Condition = "[Products.ProductName].Substring(0, 1)"; // add group to the page.Bands collection page1.Bands.Add(group1); // create group footer group1.GroupFooter = new GroupFooterBand(); group1.GroupFooter.Name = "GroupFooter1"; group1.GroupFooter.Height = Units.Centimeters * 1; // create DataBand DataBand data1 = new DataBand(); data1.Name = "Data1"; data1.Height = Units.Centimeters * 0.5f; // set data source data1.DataSource = report.GetDataSource("Products"); // connect databand to a group group1.Data = data1; Working with Windows.Forms 23 // create "Text" objects // report title TextObject text1 = new TextObject(); text1.Name = "Text1"; // set bounds text1.Bounds = new RectangleF(0, 0, Units.Centimeters * 19, Units.Centimeters * 1); // set text text1.Text = "PRODUCTS"; // set appearance text1.HorzAlign = HorzAlign.Center; text1.Font = new Font("Tahoma", 14, FontStyle.Bold); // add it to ReportTitle page1.ReportTitle.Objects.Add(text1); // group TextObject text2 = new TextObject(); text2.Name = "Text2"; text2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1); text2.Text = "[[Products.ProductName].Substring(0, 1)]"; text2.Font = new Font("Tahoma", 10, FontStyle.Bold); // add it to GroupHeader group1.Objects.Add(text2); // data band TextObject text3 = new TextObject(); text3.Name = "Text3"; text3.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5f); text3.Text = "[Products.ProductName]"; text3.Font = new Font("Tahoma", 8); // add it to DataBand data1.Objects.Add(text3); // group footer TextObject text4 = new TextObject(); text4.Name = "Text4"; text4.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5f); text4.Text = "Count: [CountOfProducts]"; text4.Font = new Font("Tahoma", 8, FontStyle.Bold); // add it to GroupFooter group1.GroupFooter.Objects.Add(text4); // add a total Total groupTotal = new Total(); groupTotal.Name = "CountOfProducts"; groupTotal.TotalType = TotalType.Count; groupTotal.Evaluator = data1; groupTotal.PrintOn = group1.Footer; // add it to report totals report.Dictionary.Totals.Add(groupTotal); // run the report report.Show();準備好的報告如下:
使用自己的預覽窗口
使用EnvironmentSettings組件(參見 "配置FastReport.Net環境 "部分),您可以調整標準預覽窗口。相關屬性包含在EnvironmentSettings.PreviewSettings屬性里面。
如果您由于某些原因不想使用標準預覽窗口,您可以創建自己的預覽窗口。要做到這一點,請使用可以添加到您的表單上的PreviewControl控件。要在該控件中顯示報表,請通過以下代碼將其連接到Report對象。
report1.Preview = previewControl1;
要準備一份報告并在PreviewControl中顯示,請使用Report對象的Show方法。
report1.Show(); your_form.ShowDialog();或以下代碼:
if (report1.Prepare()) { report1.ShowPrepared(); your_form.ShowDialog(); }在這些例子中,your_form是包含PreviewControl的表單。
使用PreviewControl組件的方法,你可以從你的代碼中處理它。您甚至可以使用ToolbarVisible, StatusbarVisible屬性來關閉標準工具欄和/或狀態欄。這在Demos/\C#/CustomPreview示例項目中進行了演示。
在數據向導中過濾表格
數據向導可以從 "數據|添加數據源... "菜單中調用。在這里您可以設置連接并選擇一個或多個數據表。默認情況下,向導會顯示所選連接中的所有可用表。如果您想過濾不必要的表,請使用 "Config.DesignerSettings.FilterConnectionT "菜單。DesignerSettings.FilterConnectionTables事件。以下示例顯示了如何從表列表中刪除 "表1 "表。
using FastReport.Utils;
Config.DesignerSettings.FilterConnectionTables += FilterConnectionTables;
private void FilterConnectionTables(
object sender, FilterConnectionTablesEventArgs e)
{
if (e.TableName == "Table 1")
e.Skip = true;
}
還想要更多嗎?您可以點擊閱讀【FastReport 報表2020最新資源盤點】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網火熱銷售中!低至3701元起!>>查看價格詳情
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: