FastReport.NET v2021 打印动态图片报表 | 软件开发平台
作者:C/S框架网|www.csframewo  发布日期:2023/03/15 21:33:00
  FastReport.NET v2021 打印动态图片报表 | 软件开发平台

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


贴图图片-fastreport.net打印图片报表


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




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






C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇