实现原理
在FastReport设计器中设计报表模版时,在PageFooter区域添加一个PictureObject,调整好PictureObject的大小后在属性窗口中把PageFooter的高度设置为0。然后报表调用与显示的代码部分可以通过调用FastReport.Report.FindObject()方法找到这个PictureObject对象,然后动态的指定图片的路径和显示位置。
实现效果
实现代码
private void btnReportView_Click(object sender, EventArgs e)
{
string path = AppDomain.CurrentDomain.BaseDirectory;
string frxPath = System.IO.Path.Combine(path, "Resources", "frx", "test.frx");
string imageUrl = System.IO.Path.Combine(path, "Resources", "images", "qibing.png");
using(System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("server=.;database=EquipManage2;uid=sa;pwd=123"))
{
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("select * from SSB_USER", con);
DataSet ds = new DataSet();
adapter.Fill(ds, "SSB_USER");
FastReport.Report report = new FastReport.Report();
report.Load(frxPath); //加载报表模版
report.RegisterData(ds, ds.Tables[0].TableName); //注册数据源
FastReport.PictureObject pic = (FastReport.PictureObject)report.FindObject("Picture1"); //查找图片对象
pic.Image = Image.FromFile(imageUrl);
pic.Top = pic.Top - 500; //设置电子图章的位置
pic.Left = pic.Left - 100;
report.Show();
}
}