VS中自带报表功能,方便我们不使用第三方控件便可以实现报表功能。本文来介绍一下如何在VS中实现报表功能。
首先在项目下添加报表 添加--新建项--Reporting--报表
在上图界面中右键点击--插入--表
点击新建数据源--选择数据库--点击下一步即可
出现下图界面时按提示操作即可,点击测试连接可测试是否连接成功
点击确定后,继续下一步出现下图界面,选择数据集对象
点击完成后,开始制作报表,按图操作即可(数据框右上角可选择对应数据项)
制作完成后效果如下
在From窗体上添加ReportViewer报表容器控件,点击控件右上角三角选择报表
接下来配置报表,生成代码按下图所示操作即可
至此添加报表功能完成,具体代码如下:
Imports Microsoft.Reporting.WinForms
Public Class frmReports
Private Sub frmReports_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“chargeDataSet.Account”中。您可以根据需要移动或删除它。
' Me.AccountTableAdapter.Fill(Me.chargeDataSet.Account)
Me.ReportView1.RefreshReport()
End Sub
Private Sub btnInquiry_Click(sender As Object, e As EventArgs) Handles btnQuery.Click
Dim daychecksource As New ReportDataSource
'设置报表数据源名称
daychecksource.Name = "DataSet1"
'设置报表数据源实例
daychecksource.Value = JFreports.Account
Me.ReportView1.LocalReport.ReportEmbeddedResource = "UI.Report1.rdlc"
'清空存在报表
Me.ReportView1.LocalReport.DataSources.Clear()
'添加数据源
Me.ReportView1.LocalReport.DataSources.Add(daychecksource)
'传递参数
Me.AccountTableAdapter.Fill(Me.JFreports.Account, Format(dtpStart.Value, "yyyy-MM-dd"), Format(dtpEnd.Value, ("yyyy-MM-dd")))
'刷新报表
Me.ReportView1.RefreshReport()
End Sub
End Class
本篇文章到此结束,如有任何问题欢迎大家指正,万分感谢!