十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
CrystalReportViewer
公司主营业务:成都做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出海伦免费做网站回馈大家。
dataset 定义数据源
.rpt 文件描述具体报表样式
再加一个调用报表的FORM,就可以实现简单的报表功能
Option Explicit
dim Report as New Cystal1
Private Sub Form_Load()
Screen.MousePointer = vbHourglass
'调用水晶报表时置鼠标为沙漏状 CRViewer91.ReportSource = Report '该语句的赋值将在后面被修改
CRViewer91.ViewReport
Screen.MousePointer = vbDefault '调用水晶报表完成后置鼠标为默认形状
End Sub
Private Sub Form_Resize()
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub
如果是FineReport报表,有两种方法,一种是需要将数据源放在你们本地或网络的服务器上,这样换一台机器数据源也不会出问题;另一种就是打包时将所用数据也一并打包,了。楼主可以试一下水晶报表,应该是一个原理。
这样的效果用FineReport报表实现起来非常容易,只要在主报表的模板上,在需要放置子报表的单元格上右击选择“单元格元素|子报表”即插入了子报表,然后绑定子报表所需的数据源,实现让子报表的内容显示在主报表上,然后将整个cpt文件插入vb.net中。
没试过封装DLL。
提供其他的方式:rdlc文件属性,生成操作:嵌入的资源。
VB.NET的一个示例代码:
Me.reportviewer.Reset()
'这个是相对路径调用的方法Me.reportviewer.LocalReport.ReportPath
=
Application.StartupPath
".\Reports\报表名.rdlc"
'增加报表数据源
Me.reportviewer.LocalReport.DataSources.Add(New
ReportDataSource("DataSet_IntMater",
DataSet.IntMaterComplain))
'使用嵌入的资源方式调用报表
Me.reportviewer.LocalReport.ReportEmbeddedResource
=
"项目名.报表名.rdlc"
Me.reportviewer.LocalReport.DisplayName
=
"报表"
Me.reportviewer.RefreshReport()