标题:C# 创建报表过程详解
1. 介绍
在C#中,我们可以使用ReportViewer控件来创建报表。ReportViewer控件是Visual Studio自带的,使用它可以在Web和Winform应用程序中显示报表。本文将介绍如何使用ReportViewer控件创建报表。
2. 步骤
2.1 安装ReportViewer控件
在Visual Studio中添加ReportViewer控件的方法是,进入工具箱->右键->选择“选择工具箱项”->选择“ReportViewer”。如果没有找到ReportViewer控件,需要安装Microsoft® SQL Server® 2016 Reporting Services或Microsoft® SQL Server® 2014 Reporting Services。
2.2 创建报表
2.2.1 创建数据集
在Visual Studio中,可以使用DataSet设计器来创建数据集,步骤如下:
- 选中项目->右键->Add New Item->DataSet。
- 打开DataSet设计器,添加数据源。
- 设计数据查询,选择查询类型,填写查询语句。
- 保存数据集。
2.2.2 创建报表设计器
在Visual Studio中,可以使用Report Designer来创建报表设计器。
- 选中项目->右键->Add New Item->Report。
- 打开Report Designer,选择数据源。
- 添加报表元素,如文本框、图表等。
- 绑定数据集中的数据到报表元素上。
- 保存报表。
2.2.3 显示报表
在Winform应用程序中显示报表,需要使用ReportViewer控件。
- 在工具箱中添加ReportViewer控件。
- 在Winform窗体上添加ReportViewer控件。
- 绑定ReportViewer控件的ReportSource属性到报表。
- 在需要显示报表的时候,调用ReportViewer控件的RefreshReport方法。
在Web应用程序中显示报表,需要使用ASP.NET的ReportViewer控件。
- 在Web应用程序的设计页面中添加ReportViewer控件。
- 绑定ReportViewer控件的ReportSource属性到报表。
- 在需要显示报表的时候,调用ReportViewer控件的RefreshReport方法。
3. 示例
下面提供两个示例,分别用于Winform应用程序和Web应用程序。
3.1 示例1:Winform应用程序
// 创建数据集
var connStr = "Data Source=localhost;Initial Catalog=TestDB;Integrated Security=True";
var selectSql = "SELECT * FROM TestTable";
var dataAdapter = new SqlDataAdapter(selectSql, connStr);
var dataSet = new DataSet();
dataAdapter.Fill(dataSet);
//创建报表
var report = new LocalReport { ReportPath = @"Report1.rdlc" };
report.DataSources.Add(new ReportDataSource("TestDataSet", dataSet.Tables[0]));
// 显示报表
reportViewer1.ProcessingMode = ProcessingMode.Local;
reportViewer1.LocalReport.ReportPath = @"Report1.rdlc";
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("TestDataSet", dataSet.Tables[0]));
reportViewer1.RefreshReport();
3.2 示例2:Web应用程序
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="100%" Height="500px">
<LocalReport ReportPath="~/Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="TestDataSet" Name="TestDataSet"/>
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 创建数据集
var connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
var selectSql = "SELECT * FROM TestTable";
var dataAdapter = new SqlDataAdapter(selectSql, connStr);
var dataSet = new DataSet();
dataAdapter.Fill(dataSet);
// 绑定数据
var dataSource = new ReportDataSource("TestDataSet", dataSet.Tables[0]);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(dataSource);
ReportViewer1.LocalReport.Refresh();
}
}
以上就是使用ReportViewer控件创建报表的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 创建报表过程详解 - Python技术站