星期四, 7月 27, 2017

[RV] 從 C# 傳遞參數至 ReportViewer

紀錄要如何從 C# 傳遞參數至 ReportViewer 內的報表

專案完整內容

[RV] 從 C# 傳遞參數至 ReportViewer-7

建立報表 report1 後,新增參數

[RV] 從 C# 傳遞參數至 ReportViewer-1

設定參數名為 ParaFromCSharp

[RV] 從 C# 傳遞參數至 ReportViewer-2

參數設定完成

[RV] 從 C# 傳遞參數至 ReportViewer-3

在報表上插入問文字方塊後,設定運算式為 =Parameters!ParaFromCSharp.Value

[RV] 從 C# 傳遞參數至 ReportViewer-4

報表 layout 完成

[RV] 從 C# 傳遞參數至 ReportViewer-5


在 C# 內利用 ReportParameter 把資料傳遞進 ReportViewer
using Microsoft.Reporting.WinForms;

namespace ReportViewerPara
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.reportViewer1.RefreshReport();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string MessageFromCSharp = "從 C# 傳遞參數至 ReportViewer";
            // 指定報表
            reportViewer1.LocalReport.ReportEmbeddedResource = "ReportViewerPara.Report1.rdlc";
            // 設定參數,ReportParameter 的第一個參數,要和報表內設定的參數名稱一致喔
            ReportParameter para = new ReportParameter("ParaFromCSharp", MessageFromCSharp);
            reportViewer1.LocalReport.SetParameters(new ReportParameter[] { para });
            // Render 報表
            reportViewer1.RefreshReport();
        }
    }
}
執行並顯示結果

[RV] 從 C# 傳遞參數至 ReportViewer-6

沒有留言:

張貼留言