效果图片:

分步解析实现过程:
一.新建报表所需要的文件以及类:
1.新建一个WindowForm项目WindowsFormsReport;
2. 添加Entity文件夹,并添加StudentEntity.cs类;
public class StudentEntity
{
 /// <summary>
 /// 姓名
 /// </summary>
 public string StuName { get; set; }
 /// <summary>
 /// 年龄
 /// </summary>
 public string StuAge { get; set; }
 /// <summary>
 /// 学生住址
 /// </summary>
 public string StuAddress { get; set; }
 /// <summary>
 /// 身高
 /// </summary>
 public string StuHeight { get; set; }
 /// <summary>
 /// 体重
 /// </summary>
 public string StuWeight { get; set; }
 /// <summary>
 /// 学生电话
 /// </summary>
 public string StuPhone { get; set; }
 }
3.添加Report文件夹,并添加Report.rdlc报表;

建好报表,打开报表,点击界面上的数据集右击,新建数据集,就会弹出如下界面:

点击数据源类型,这里我们以对象为例:

接下来,我们只需完成后,再点击确定就可以,在报表界面进行追加列表:

往界面上追加图片,如下操作:
1)点击界面上的参数,右击新建参数:

2)在界面上右击新插入图片,则会弹出对图片的配置界面如下:

此处需要注意:图片的格式
3)对使用字段设置,如下图参考即可:
=System.Convert.FromBase64String(Parameters!ReportParameter1.Value)

这样如上面的图所设置即可:
二.现在对WindowForm页面设置:
1)选择工具箱中报表-ReportViewer控件,拖入界面中

2)上面的图,画黄色的位置,选择上面新建的报表:

3)用代码实现展示:这里我用画面启动就加载数据:
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }
 private void Form1_Load(object sender, EventArgs e)
 {
 this.reportViewer1.RefreshReport();
 }
 private void reportViewer1_Load(object sender, EventArgs e)
 {
 reportViewer1.LocalReport.DataSources.Clear();
 // 插入图片设置
 reportViewer1.LocalReport.EnableExternalImages = true;
 Bitmap bmp = new Bitmap(Image.FromFile("E:\\C#Del\\Lianxi\\WindowsFormsReport\\QQ.jpg"));
 MemoryStream msm = new MemoryStream();
 bmp.Save(msm, ImageFormat.Jpeg);
 byte[] bytes = msm.ToArray();
 ReportParameter repter = new ReportParameter("ReportParameter1",Convert.ToBase64String(bytes));
 reportViewer1.LocalReport.SetParameters(new ReportParameter[] { repter });
 reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1",DataList()));
 reportViewer1.RefreshReport();
 }
 private List<StudentEntity> DataList()
 {
 List<StudentEntity> wStudentEntityList = new List<StudentEntity>();
 StudentEntity wStudentEntity = new StudentEntity();
 wStudentEntity.StuName = "离散";
 wStudentEntity.StuAddress = "十里堡10号";
 wStudentEntity.StuAge = "23岁";
 wStudentEntity.StuHeight = "169cm";
 wStudentEntity.StuWeight = "69Kg";
 wStudentEntity.StuPhone = "13011108121";
 wStudentEntityList.Add(wStudentEntity);
 return wStudentEntityList;
 }
接下来,我们启动下面,效果如下:

注意:若大家有疑问,可以给我留言,大家一起交流
来源:oschina
链接:https://my.oschina.net/u/4256357/blog/4449565