ReportViewer 报表使用整理
前段时间整理了 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 { /// <summary> /// 打印标签模板路径 /// </summary> 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