翻譯|使用教程|編輯:楊鵬連|2021-02-24 09:55:30.940|閱讀 330 次
概述:在本章中,我們將學(xué)習(xí)FastReport中使用報(bào)表的原則。我們還將仔細(xì)介紹配置FastReport.Net對(duì)話框。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
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的新版本中,我們實(shí)現(xiàn)了對(duì).NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉(zhuǎn)換為報(bào)告對(duì)象的算法已得到顯著改進(jìn)。并且還添加了用于轉(zhuǎn)換數(shù)字的新功能。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
立即點(diǎn)擊下載FastReport.NET v2021.1最新版
Fastreport.NET在線購(gòu)買(mǎi)價(jià)更低,專(zhuān)享85折起!趕緊加入購(gòu)物清單吧!
使用代碼創(chuàng)建報(bào)告
讓我們考慮如何在代碼中創(chuàng)建一個(gè)報(bào)表。我們將創(chuàng)建以下報(bào)表。
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();準(zhǔn)備好的報(bào)告如下:
使用自己的預(yù)覽窗口
使用EnvironmentSettings組件(參見(jiàn) "配置FastReport.Net環(huán)境 "部分),您可以調(diào)整標(biāo)準(zhǔn)預(yù)覽窗口。相關(guān)屬性包含在EnvironmentSettings.PreviewSettings屬性里面。
如果您由于某些原因不想使用標(biāo)準(zhǔn)預(yù)覽窗口,您可以創(chuàng)建自己的預(yù)覽窗口。要做到這一點(diǎn),請(qǐng)使用可以添加到您的表單上的PreviewControl控件。要在該控件中顯示報(bào)表,請(qǐng)通過(guò)以下代碼將其連接到Report對(duì)象。
report1.Preview = previewControl1;
要準(zhǔn)備一份報(bào)告并在PreviewControl中顯示,請(qǐng)使用Report對(duì)象的Show方法。
report1.Show(); your_form.ShowDialog();或以下代碼:
if (report1.Prepare()) { report1.ShowPrepared(); your_form.ShowDialog(); }在這些例子中,your_form是包含PreviewControl的表單。
使用PreviewControl組件的方法,你可以從你的代碼中處理它。您甚至可以使用ToolbarVisible, StatusbarVisible屬性來(lái)關(guān)閉標(biāo)準(zhǔn)工具欄和/或狀態(tài)欄。這在Demos/\C#/CustomPreview示例項(xiàng)目中進(jìn)行了演示。
在數(shù)據(jù)向?qū)е羞^(guò)濾表格
數(shù)據(jù)向?qū)Э梢詮?"數(shù)據(jù)|添加數(shù)據(jù)源... "菜單中調(diào)用。在這里您可以設(shè)置連接并選擇一個(gè)或多個(gè)數(shù)據(jù)表。默認(rèn)情況下,向?qū)?huì)顯示所選連接中的所有可用表。如果您想過(guò)濾不必要的表,請(qǐng)使用 "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;
}
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2020最新資源盤(pán)點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷(xiāo)售中!低至3701元起!>>查看價(jià)格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: