.net java开发报表_报表生成器FastReport .Net程序员手册:如何使用代码创建报告

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在线购买价更低,专享85折起!赶紧加入购物清单吧!

使用代码创建报告

让我们考虑如何在代码中创建一个报表。我们将创建以下报表。

dff264e1837d220c4290773f6f18e382.png

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();

准备好的报告如下:

d01bb170e637eb9b88d69d33ea48c1ed.png

使用自己的预览窗口

使用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元起!

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

a6e1590ae4b228073faff3806334194e.png0

好文不易,鼓励一下吧!

version 4.9 --------------- + added export headers/footers in ODF export + added ability to print/export transparent pictures (properties TfrxPictureView.Transparent and TfrxPictureView.TransparentColor) (PDF export doesn't supported) + added new "split to sheet" modes for TfrxXMLExport + added support of /PAGE tag in TfrxRichView, engine automatically break report pages when find /PAGE tag + added ability to hide Null values in TfrxChartView (TfrxChartView.IgnoreNulls = True) + added ability to set any custom page order for printing (i.e. 3,2,1,5,4 ) + [enterprise] added variables "AUTHLOGIN" and "AUTHGROUP" inside the any report + [enterprise] now any report file can be matched with any (one and more) group, these reports are accessible only in matched groups + [enterprise] now you can set-up cache delays for each report file (reports.xml) + [enterprise] added new properties editor for reports in Configuration utility (see Reports tab) + [enterprise] added property "Xml" - "SplitType" in server configuration - allow to select split on pages type between none/pages/printonprev/rowscount + [enterprise] added property "Xml" - "SplitRowsCount" in server configuration - sets the count of rows for "rowscount" split type + [enterprise] added property "Xml" - "Extension" in server configuration - allow select between ".xml" and ".xls" extension for output file + [enterprise] added property "Html" - "URLTarget" in server configuration - allow select the target attribute for report URLs + [enterprise] added property "ReportsFile" - path to file with reports to groups associations and cache delays + [enterprise] added property "ReportsListRenewTimeout" in server configuration + [enterprise] added property "ConfigRenewTimeout" in server configuration + [enterprise] added property "MimeType" for each output format in server configuration + [enterprise] added property "BrowserPrint" in server configuration - allow printing by browser, added new template nav_print_browser
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值