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

{

///

/// 打印标签模板路径

///

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