WinForms 应用(.NET 8.0)利用ReportViewerCore.WinForms表现打印RDLC报表 ...

打印 上一主题 下一主题

主题 521|帖子 521|积分 1563

在要WinForms 应用(.NET 8.0)中,表现RDLC报表,就要利用ReportViewerCore.WinForms。原来的ReportViewer只能在.NET Framework框架下运行。
1.ReportViewerCore.WinForms 程序包阐明
SQL Server Reporting Services ReportViewer WinForms control decompiled and recompiled for .NET Core. Based on ReportViewer 15.0.1404.0
2.主要程序ReportViewerForms.cs
  1. using Microsoft.Reporting.WinForms;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using System.Windows.Forms;
  6. namespace ReportViewerCore
  7. {
  8.     class ReportViewerForm : Form
  9.     {
  10.         private readonly ReportViewer reportViewer;
  11.         public ReportViewerForm()
  12.         {
  13.             Text = "ReportViewerCore.WinForms示例(目标框架.NET 8.0)";
  14.             //WindowState = FormWindowState.Maximized;
  15.             this.Width = 1000;
  16.             this.Height = 600;
  17.             reportViewer = new ReportViewer();
  18.             reportViewer.Dock = DockStyle.Fill;
  19.             Controls.Add(reportViewer);
  20.             // 设置打印布局模式,显示物理页面大小
  21.             this.reportViewer.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
  22.             // 缩放模式为百分比,以100%方式显示
  23.             this.reportViewer.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.Percent;
  24.             this.reportViewer.ZoomPercent = 100;
  25.         }
  26.         protected override void OnLoad(EventArgs e)
  27.         {
  28.             Report.Load(reportViewer.LocalReport);
  29.             reportViewer.RefreshReport();
  30.             base.OnLoad(e);
  31.         }
  32.         private void ReportViewerForm_Load(object sender, EventArgs e)
  33.         {
  34.         }
  35.         private void InitializeComponent()
  36.         {
  37.             SuspendLayout();
  38.             //
  39.             // ReportViewerForm
  40.             //
  41.             ClientSize = new System.Drawing.Size(784, 472);
  42.             Name = "ReportViewerForm";
  43.             StartPosition = FormStartPosition.CenterScreen;
  44.             Load += ReportViewerForm_Load;
  45.             ResumeLayout(false);
  46.         }
  47.     }
  48. }
复制代码
  1. using Microsoft.Reporting.WinForms;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Text;
  6. namespace ReportViewerCore
  7. {
  8.         class Report
  9.         {
  10.                 public static void Load(LocalReport report)
  11.                 {
  12.                         var items = new[] { new ReportItem { Description = "Widget 6000", Price = 104.99m, Qty = 1 }, new ReportItem { Description = "Gizmo MAX", Price = 1.41m, Qty = 25 } };
  13.                         var parameters = new[] { new ReportParameter("Title", "Invoice 4/2020") };
  14.                         using var fs = new FileStream("Report.rdlc", FileMode.Open);
  15.                         report.LoadReportDefinition(fs);
  16.                         report.DataSources.Add(new ReportDataSource("Items", items));
  17.                         report.SetParameters(parameters);
  18.                 }
  19.         }
  20. }
复制代码
3.实例窗口





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表