前段時間整理了 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