ReportViewer 报表使用整理

Posted howtrace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

        
    

 

报表显示:

技术图片

 

参考: https://docs.microsoft.com/zh-cn/sql/reporting-services/application-integration/using-the-winforms-reportviewer-control?view=sql-server-2017 

 

以上是关于ReportViewer 报表使用整理的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET ReportViewer 动态绑RDLC

C# Winform reportViewer报表,动态表头能做么?

有没有办法反向代理 SQL Server Report Service 2008 的 ReportViewer?

[C#]透过ReportViewer将报表另存成文件

RDLC报表问题:尚未指定报表“Report1”的报表定义

在C#中,设计grid++report报表的具体步骤是啥??帮助文档感觉好乱,自己没有基础,求具体步骤