FastReport.NET v2021 打印动态图片报表 | 软件开发平台
FastReport.NET v2021 打印动态图片报表 | 软件开发平台作为CSFrameworkV6旗舰版软件开发平台重要demo, 使用FastReport.NET v2021 打印动态图片报表。

C# 源码
C# Code:
/// <summary>
/// 生成报表实例
/// </summary>
/// <returns></returns>
private FastReport.Report InitializeReport()
{
//报表文件
string file = Application.StartupPath + @"\Reports\rptUser.frx";
FastReport.Report rptUser = new FastReport.Report();
rptUser.Load(file);//加载报表模板文件
//取报表数据
List<tb_MyUser> data = new bllUser().GetUserReportData(txtAccount.Text,
txtFrom.DateTime, txtTo.DateTime);
rptUser.RegisterData(data, "tb_MyUser"); //注册数据源,单表
//给DataBand(明细数据)绑定数据源
DataBand band = rptUser.FindObject("Data1") as DataBand;
DataSourceBase dataSource = rptUser.GetDataSource("tb_MyUser");
dataSource.Enabled = true; //重要!!!
band.DataSource = dataSource;
//自定义处理
band.BeforePrint += new EventHandler(band_BeforePrint);
(rptUser.FindObject("TextCustom") as TextObject).Text = Loginer.CurrentUser.AccountName;
rptUser.Parameters.FindByName("pPrintUser").Value = Loginer.CurrentUser.AccountName;
rptUser.Parameters.FindByName("pPrintTime").Value = DateTime.Now;
return rptUser;
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// <summary>
/// 生成报表实例
/// </summary>
/// <returns></returns>
private FastReport.Report InitializeReport()
{
//报表文件
string file = Application.StartupPath + @"\Reports\rptUser.frx";
FastReport.Report rptUser = new FastReport.Report();
rptUser.Load(file);//加载报表模板文件
//取报表数据
List<tb_MyUser> data = new bllUser().GetUserReportData(txtAccount.Text,
txtFrom.DateTime, txtTo.DateTime);
rptUser.RegisterData(data, "tb_MyUser"); //注册数据源,单表
//给DataBand(明细数据)绑定数据源
DataBand band = rptUser.FindObject("Data1") as DataBand;
DataSourceBase dataSource = rptUser.GetDataSource("tb_MyUser");
dataSource.Enabled = true; //重要!!!
band.DataSource = dataSource;
//自定义处理
band.BeforePrint += new EventHandler(band_BeforePrint);
(rptUser.FindObject("TextCustom") as TextObject).Text = Loginer.CurrentUser.AccountName;
rptUser.Parameters.FindByName("pPrintUser").Value = Loginer.CurrentUser.AccountName;
rptUser.Parameters.FindByName("pPrintTime").Value = DateTime.Now;
return rptUser;
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
C# Code:
/// <summary>
/// DataBand 打印时间处理图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void band_BeforePrint(object sender, EventArgs e)
{
//取出当前打印的记录。
var row = (sender as DataBand).DataSource.CurrentRow as tb_MyUser;
//做其它特殊处理:
FastReport.Report rpt = (sender as DataBand).Report;
int i = (sender as DataBand).DataSource.CurrentRowNo;
(rpt.FindObject("TextCustom") as TextObject).Text = "Object行号:" + i.ToString();
//从后台获取图片
var data = new bll_Images().GetByDocType(Models.OtherModels.ImageDocType.User, row.Account, true, false);
if (data != null)
{
Image img = ImageHelper.FromBytes(data.ImgSmall);//将字节转换为图片
PictureObject pic = rpt.FindObject("Picture1") as PictureObject;
pic.Image =new Bitmap(img); //注意:必须是Bitmap, Image不受支持!
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// <summary>
/// DataBand 打印时间处理图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void band_BeforePrint(object sender, EventArgs e)
{
//取出当前打印的记录。
var row = (sender as DataBand).DataSource.CurrentRow as tb_MyUser;
//做其它特殊处理:
FastReport.Report rpt = (sender as DataBand).Report;
int i = (sender as DataBand).DataSource.CurrentRowNo;
(rpt.FindObject("TextCustom") as TextObject).Text = "Object行号:" + i.ToString();
//从后台获取图片
var data = new bll_Images().GetByDocType(Models.OtherModels.ImageDocType.User, row.Account, true, false);
if (data != null)
{
Image img = ImageHelper.FromBytes(data.ImgSmall);//将字节转换为图片
PictureObject pic = rpt.FindObject("Picture1") as PictureObject;
pic.Image =new Bitmap(img); //注意:必须是Bitmap, Image不受支持!
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

参考文档:
为什么FastReport.NET v2021 打印预览只显示一条记录 | 软件开发平台
C/S架构软件开发平台旗舰版V6.0 | 使用FastReport.NET制作二维码报表|C/S开发框架
FastReport.NET v2021 主从表报表打印图片 | 开发框架
FastReport.NET v2021 打印预览报表出错NullReferenceException / RestoreEncodedText,踩坑!
C/S架构软件开发平台 | 旗舰版V6.0开发者技能要求|C/S开发框架
C/S架构软件开发平台V6旗舰版 | 客户端运行环境需要的程序文件|C/S开发框架
使用Winform代码生成器生成FastReport.NET报表模板文件(frx文件)
C/S架构软件开发平台V6旗舰版 | FastReport报表组件|C/S开发框架
VS2022+FastReport.NET 安装环境支持
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动创建数据库备份计划|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6 主页|C/S开发框架
C/S架构软件开发平台旗舰版V6.1迭代开发记录|工作流程引擎集成|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动备份数据库计划|C/S开发框架
为什么FastReport.NET v2021 打印预览只显示一条记录 | 软件开发平台
C/S架构软件开发平台旗舰版V6.0 | 使用FastReport.NET制作二维码报表|C/S开发框架
FastReport.NET v2021 主从表报表打印图片 | 开发框架
FastReport.NET v2021 打印预览报表出错NullReferenceException / RestoreEncodedText,踩坑!
C/S架构软件开发平台 | 旗舰版V6.0开发者技能要求|C/S开发框架
C/S架构软件开发平台V6旗舰版 | 客户端运行环境需要的程序文件|C/S开发框架
使用Winform代码生成器生成FastReport.NET报表模板文件(frx文件)
C/S架构软件开发平台V6旗舰版 | FastReport报表组件|C/S开发框架
VS2022+FastReport.NET 安装环境支持
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动创建数据库备份计划|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6 主页|C/S开发框架
C/S架构软件开发平台旗舰版V6.1迭代开发记录|工作流程引擎集成|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动备份数据库计划|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
