提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|实施案例|编辑:杨鹏连|2021-06-28 17:13:12.730|阅读 441 次
概述:本文介绍了报表生成器C#调用FastReport控件成功示例研究。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
随着现代技术的高速发展,相关产业所衍生出来的数据集是越来越庞大。那么我们如何能够简单、方便、快捷的展现自己输入数据?并且能够以我们想要的方式展现出来?报表——这一产物便应运而生,现在市面上流行的报表工具类产品也是层出不穷。
我们为什么使用第三方报报表开发工具,而不使用Excel呢?
Excel是一个电子表格程序,而不是一个数据库程序。Excel数据处理容量和速度有限制,数据可视化程度不高,都是以表格为主,虽然也能插入一些图表,但是灵活度和美观度不够,设置起来也相当麻烦,并且数据获取麻烦。
第三方报表工具是数据库存储,数据库程序通常可以存放的数据量是相当大的,可以处理非常复杂的数据结构关系。报表数据交互也快捷方便,速度也非常快,可视化交互渲染。
创建个WinForm项目
引用dll文件

引用dll文件创建FastReport控件工具

创建打印设置From

C#代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FastReport;
using System.Data.SqlClient;
namespace PrintTest001
{
public partial class FrmPrintDesigner : Form
{
public FrmPrintDesigner()
{
InitializeComponent();
}
private void FrmPrintDesigner_Load(object sender, EventArgs e)
{
Report dReport = new Report(); //实例化一个Report报表
String reportFile = "Report/Report01.frx";
dReport.Load(reportFile); //载入报表文件
this.designerControl1.Report = dReport; //这里不一样的是把Report赋给控件的属性
DataSet ds1 = new DataSet();
ds1 = getDataHz();
dReport.RegisterData(ds1, "单据汇总");
DataSet ds2 = new DataSet();
ds2 = getDataMx();
dReport.RegisterData(ds2, "单据明细");
dReport.Prepare(); //准备
dReport.Design(); //显示
}
private DataSet getDataHz()
{
String connStr = ReturnDataSet.connectionString;
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
String sqlStr = ReturnDataSet.HzSql;
SqlCommand comm = new SqlCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.Connection = conn;
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(comm);
adapter.Fill(ds, "单据汇总");
conn.Close();
return ds;
}
private DataSet getDataMx()
{
String connStr = ReturnDataSet.connectionString;
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
String sqlStr = ReturnDataSet.MxSql;
SqlCommand comm = new SqlCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.Connection = conn;
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(comm);
adapter.Fill(ds, "单据明细");
conn.Close();
return ds;
}
}
}
创建打印预览From

C#代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FastReport;
using System.Data.SqlClient;
namespace PrintTest001
{
public partial class FrmPrintPreview : Form
{
public FrmPrintPreview()
{
InitializeComponent();
}
private void FrmPrintPreview_Load(object sender, EventArgs e)
{
Report dReport = new Report(); //实例化一个Report报表
String reportFile = "Report/Report01.frx";
dReport.Load(reportFile); //载入报表文件
dReport.Preview = previewControl1; //设置报表的Preview控件(这里的previewControl1就是我们之前拖进去的那个)
DataSet ds1 = new DataSet();
ds1 = getDataHz();
dReport.RegisterData(ds1, "单据汇总");
DataSet ds2 = new DataSet();
ds2 = getDataMx();
dReport.RegisterData(ds2, "单据明细");
dReport.Prepare(); //准备
dReport.ShowPrepared(); //显示
}
private DataSet getDataHz()
{
String connStr = ReturnDataSet.connectionString;
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
String sqlStr = ReturnDataSet.HzSql;
SqlCommand comm = new SqlCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.Connection = conn;
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(comm);
adapter.Fill(ds, "单据汇总");
conn.Close();
return ds;
}
private DataSet getDataMx()
{
String connStr = ReturnDataSet.connectionString;
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
String sqlStr = ReturnDataSet.MxSql;
SqlCommand comm = new SqlCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.Connection = conn;
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(comm);
adapter.Fill(ds, "单据明细");
conn.Close();
return ds;
}
}
}
示例:
打印设置效果:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn
文章转载自:慧都网



Vaadin 是构建安全、可扩展、可持续发展的企业级 Java 应用的理想选择。IFD Engineering 借助Vaadin,全面实现系统的性能提升、界面现代化与安全加固。
BCI银行通过采用Vaadin实现了从传统系统向现代化内部工具的全面转型,显著提升了开发速度与用户体验,也为全球金融行业的系统升级提供了参考范例。
Sketch如何帮助独立开发者高效实现产品视觉一致性、提升设计交付效率,并在快速迭代中保持优秀的用户体验。
在全球B2B电商领域,意大利SaaS平台 Rewix 正在用全新的方式重塑企业间的数字化交易体验。借助 Vaadin 全栈 Java 框架,Rewix 成功将传统的电商后台系统升级为现代化、可扩展的企业级 SaaS 平台——实现了每家客户百万级订单的高效处理、更快的功能交付,并构建出媲美 B2C 电商体验的高质量用户界面。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站