原文:RDLC Reporting in Visual Studio 2017

Visual Studio 2017 中可以使用 RDLC Reporting 插件来设计报表,SAP Crystal Report(水晶报表)的用法与之类似。

步骤一、在 VS 中打开 “工具” 菜单下的 “扩展与更新” 选项,搜索 RDLC Reporting,并安装:

  1. Microsoft Rdlc Report Designer for Visual Studio

    • Rdlc Designer and projects for ASP.Net and Windows Forms for Reporting Services Report Viewer Control
  2. Microsoft Reporting Services Projects
    • The Microsoft RDL report designer, projects and wizards for creating professional reports.

RDLC Reporting in Visual Studio 2017-LMLPHP

安装成功后,新建 WinForm 项目,并添加新项,就可以看到 “报表” 选项了。

RDLC Reporting in Visual Studio 2017-LMLPHP

步骤二、添加相关的 NuGet 包:Microsoft.ReportingServices.ReportViewerControl.Winforms

RDLC Reporting in Visual Studio 2017-LMLPHP

步骤三、为项目添加新项,选择 “报表” 并命名为 Report1.rdlc,然后打开 Report1.rdlc 并添加数据集。

RDLC Reporting in Visual Studio 2017-LMLPHP

步骤四、打开一个窗体,并在工具箱里的 Microsoft SQL Server 选项下选择 ReportViewer 控件,添加到 Form2 中。并设置其报表模板。

RDLC Reporting in Visual Studio 2017-LMLPHP

步骤五、在窗体的加载事件中添加具体的数据绑定逻辑

private void Form2_Load(object sender, EventArgs e)
{
reportViewer1.LocalReport.ReportEmbeddedResource = "WindowsFormsApp1.Report1.rdlc"; // 包含命名空间和报表文件名称 DataTable studentDt = new DataTable("DAS_Staff"); studentDt.Columns.Add("StaffID");
studentDt.Columns.Add("StaffFirstName");
studentDt.Columns.Add("StaffLastName"); studentDt.Rows.Add("", "Jack", "tt");
studentDt.Rows.Add("", "Lucy", "tt");
studentDt.Rows.Add("", "Jason", "tt");
studentDt.Rows.Add("", "Lili", "tt"); reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", studentDt)); //注:这里数据源名称要与上面再报表模板中定义的数据源名称一致。 reportViewer1.RefreshReport(); this.reportViewer1.RefreshReport();
}

最后,运行程序显示效果如下:

RDLC Reporting in Visual Studio 2017-LMLPHP

参考资料:

http://shashangka.com/2017/05/17/enable-rdlc-reporting-in-visual-studio-2017
https://www.cnblogs.com/dreamos/p/7599253.html

05-11 18:16