前段时间整理了 ReportViewer 报表控件安装步骤,今天整理了报表具体项目中详细步骤。
1.首先从工具箱中引用 ReportViewer 控件 , 同时,新建report 文件夹,添加 *.rdlc 报表。
2.rdlc 报表中添插入 文本框 ,设置如图 , 这里引用参数 ReportParameter1 , 需要额外在参数列表添加。
添加文本框:
添加参数:
3.rdlc 中添加图片,图片可以是Logo , 二维码,一维码图片等,同样步骤,先加图片控件,再添加参数.
expr 表达式设置,表示图像引用 ReportParameter2 参数(转成 base64 格式) :
=System.Convert.FromBase64String(Parameters!ReportParameter2.Value)
4.代码绑定 .
using Microsoft.Reporting.WinForms;
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;
namespace IDCodePrinter
{
public partial class TestReportView : Form
{
///
/// 打印标签模板路径
///
string printerFilePath = @".\Report\Report3_test.rdlc";
public TestReportView()
{
InitializeComponent();
}
private void TestReportView_Load(object sender, EventArgs e)
{
Bind();
}
void Bind()
{
// Set the processing mode for the ReportViewer to Local
reportViewer1.ProcessingMode = ProcessingMode.Local;
LocalReport localReport = reportViewer1.LocalReport;
localReport.ReportPath = printerFilePath;
ReportParameter rpSalesOrderNumber = new ReportParameter();
rpSalesOrderNumber.Name = "ReportParameter1";
rpSalesOrderNumber.Values.Add("SO43661");
ReportParameter rpSalesOrderNumberImage = new ReportParameter();
rpSalesOrderNumberImage.Name = "ReportParameter2";
rpSalesOrderNumberImage.Values.Add(Convert.ToBase64String(System.IO.File.ReadAllBytes("d:\\22.jpg")));
localReport.SetParameters(
new ReportParameter[] { rpSalesOrderNumber, rpSalesOrderNumberImage });
reportViewer1.RefreshReport();
}
}
}
报表显示:
备注:
通过 ZoomMode 设置 ReportView 显示效果,该参数3 个枚举,如:
成员名称说明
FullPage
将缩放模式设置为整页。
PageWidth
将缩放模式设置为页宽。
Percent
将缩放模式设置为百分比。
fullpage:将整个内容区缩放至page 内 , 最终呈现 无滚动条。
pagewidth:将整个内容区宽度缩放至 Page页宽 , 最终呈现 垂直方向可能出现滚动。
Percent: 根据 ZoomPercent 值 决定缩放尺寸。
参考: https://docs.microsoft.com/zh-cn/sql/reporting-services/application-integration/using-the-winforms-reportviewer-control?view=sql-server-2017