提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郑恭琳|2020-01-19 14:51:20.287|阅读 248 次
概述:大多数报表生成器都有一个带有工具栏的报表查看模式,您可以从中对报表进行各种操作。例如,翻页、打印、导出等。但是,有时没有足够的按钮具有您想要的功能。这可以是快速导出为某种格式,也可以是将报表发送给审阅,或者您可能想批量发送报表。无论哪种方式,标准工具栏FastReport.Net都不允许您添加自定义功能。但是开发人员提供了创建自己的预览模式的可能性。很棒,并不是每个人都喜欢标准的预览版。许多人希望删除一些不必要的按钮,但会添加自己的“features”功能。因此,让我们看一下如何快速轻松地制作报表预览。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
大多数报表生成器都有一个带有工具栏的报表查看模式,您可以从中对报表进行各种操作。例如,翻页、打印、导出等。但是,有时没有足够的按钮具有您想要的功能。这可以是快速导出为某种格式,也可以是将报表发送给审阅,或者您可能想批量发送报表。无论哪种方式,标准工具栏FastReport.Net都不允许您添加自定义功能。但是开发人员提供了创建自己的预览模式的可能性。很棒,并不是每个人都喜欢标准的预览版。许多人希望删除一些不必要的按钮,但会添加自己的“features”功能。因此,让我们看一下如何快速轻松地制作报表预览。在FastReport.dll库中,我们可以使用标准预览模式下的所有功能。
让我们看一下这个例子。典型的Windows窗体应用程序。我们正在将FastReport.dll库连接到它。在表单上,我们添加了工具栏组件ToolStrip和PreviewControl——一个标准的报表查看器。该组件已经拥有自己的工具栏,但是很容易隐藏在工具栏属性中。
在工具栏上,我们创建了具有必要功能的按钮:
打开报表、打印、导出、翻页和具有其功能的特殊按钮。它将以csv格式将报表保存在指定的文件夹中。这样的QuickSave。假设我们经常使用此特定功能,因此我们将其移至单独的按钮。现在让我们看一下应用程序代码:
public partial class Form1 : Form { private Report FReport; private DataSet FDataSet; public Form1() { InitializeComponent(); } private void LoadBtn_Click(object sender, EventArgs e) { FReport = new Report(); FReport.Preview = previewControl1; using (OpenFileDialog file = new OpenFileDialog()) { if (file.ShowDialog() == DialogResult.OK) { FDataSet = new DataSet(); FDataSet.ReadXml("K:/My documents/nwind.xml"); FReport.Load(file.FileName); FReport.RegisterData(FDataSet, "NorthWind"); FReport.Prepare(); FReport.ShowPrepared(); } } }
下载报表按钮将打开一个标准的“File Open”文件打开对话框窗口。然后,我们将数据库上传到数据源,在报表对象中上传选定的报表模板,将其注册为数据源,以在组件预览中收集并显示报表。
private void SaveBtn_Click(object sender, EventArgs e) { SaveBtn.DropDownItems.Clear(); Listlist = new List(); RegisteredObjects.Objects.EnumItems(list); ToolStripMenuItem saveNative = new ToolStripMenuItem("Save to .fpx file..."); saveNative.Click += new EventHandler(item_Click); SaveBtn.DropDownItems.Add(saveNative); foreach (ObjectInfo info in list) { if (info.Object != null && info.Object.IsSubclassOf(typeof(ExportBase))) { ToolStripMenuItem item = new ToolStripMenuItem(Res.TryGet(info.Text) + "..."); item.Tag = info; item.Click += new EventHandler(item_Click); if (info.ImageIndex != -1) item.Image = Res.GetImage(info.ImageIndex); SaveBtn.DropDownItems.Add(item); } } }
导出/保存按钮实际上有一个带有各种导出格式的下拉列表。首先,我清除下拉列表,并创建要导出的对象列表。加载所有已注册对象的列表。
然后,我将第一个元素添加到导出列表中——导出本机格式,即fpx格式。所有其他可用格式将循环添加到列表中。一些导出有图片。列表中的每个元素都分配给处理按下项目的item_Click事件。
private void item_Click(object sender, EventArgs e) { ObjectInfo info = (sender as ToolStripMenuItem).Tag as ObjectInfo; if (info == null) { previewControl1.Save(); } else { ExportBase export = Activator.CreateInstance(info.Object) as ExportBase; export.CurPage = previewControl1.PageNo; export.Export(previewControl1.Report); } }
事件处理程序item_Click正在导出报表,该报表当前显示在“Preview”预览组件中。
private void PrintBtn_Click(object sender, EventArgs e) { previewControl1.Print(); }
“Print”打印按钮将打开“ PrintDoc”对话框窗口。
private void FirstBtn_Click(object sender, EventArgs e) { previewControl1.First(); }
“First”按钮显示报表的第一页。
private void PrevBtn_Click(object sender, EventArgs e) { previewControl1.Prior(); }
“Prev”按钮显示报表的上一页。
private void NextBtn_Click(object sender, EventArgs e) { previewControl1.Next(); }
“Next”按钮显示报表的下一页。
private void LastBtn_Click(object sender, EventArgs e) { previewControl1.Last(); }
最后,“Last”按钮显示报表的最后一页。
private void PageNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { previewControl1.PageNo = int.Parse(PageNo.Text); } }
按钮之间的文本字段显示当前页面的编号。更改此值可以在报表页面之间切换。
private void PreviewControl1_PageChanged(object sender, EventArgs e) { PageNo.Text = previewControl1.PageNo.ToString(); }
但是,如果使用按钮在页面之间切换,则文本字段中的页面编号也会更改。根据预览组件中的页面更改事件。
private void QuickSaveCSVBtn_Click(object sender, EventArgs e) { FastReport.Export.Csv.CSVExport ex = new FastReport.Export.Csv.CSVExport(); FReport.Export(ex, "Text.csv"); }
最后,我们的自定义按钮。它的功能无处不在,仅用于演示。它以csv格式保存报表。因此,您可以为自己或客户创建方便的报表查看器,并为其提供必要的功能。
预览版中附加功能的梦想可能是无限的,开发人员为我们提供了这一机会。
而且,如果您希望在显示来自应用程序代码的报表时使用预览组件,我们将使用以下代码:
CusomPreviewForm prev = new CusomPreviewForm (); Report report = new Report(); report.Load("K:/My documents/lines.frx"); report.Preview = prev.previewControl1; report.Show(); prev.ShowDialog();
在这里,我们覆盖了报表的视图组件。说实话,我们必须公开PreviewControl1。
就这样。希望您能利用这个巨大的机会来制作自定义查看器报表。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢