动态水晶报表的实现

前端之家收集整理的这篇文章主要介绍了动态水晶报表的实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

实现基本功能的动态水晶报表

系统配置:VS2005+内嵌的水表

目的:

我也是刚接触.net不久,做项目过程中需要设计报表,可一个个的做起来烦啊,原来做过一个vb6的动态报表,用起来还不错,故也想弄一个水表的东东。因为水表接触时间不长,做的也不是很顺手,用了我半个月的时间才弄个大概模样,不当之处还请各位见谅。觉得有用就看看,没用就当没看到吧。

目前实现的功能

1、报表标题页码显示格式、纸张大小、纸张方向、边距等的动态修改

2、报表列标题的动态修改(2行也支持,但是感觉定义麻烦)

最大允许用户定义40列(内部定义的公式总数决定的,呵呵)

同时显示的列数必须<=提供的数据表里面的字段数,不让报错

3、数据部分偷懒了,是和提供的数据表的顺序一致(本来想做两种方式的)

4、分组头部分

简单的显示分组名

5、分组尾部分

这部分能定义是否显示、以及组的小计,比如计数、求和等

6、报表尾部分

这部分能定义是否显示、以及总计信息,比如计数、求和等

调用方法

Dim strsql As String = "select a.EmployeeID,FirstName,Title,LastName,a.Region,a.postalCode,a.country,a.homephone,a.reportsto,CompanyName,ContactName,c.OrderID,ShipCity,ShipPostalCode,ProductID,UnitPrice,Quantity,Discount " & _
"from Employees a,Customers b,Orders c,[Order Details] d " & _
"where(a.EmployeeID = c.EmployeeID And b.CustomerID = c.CustomerID And c.OrderID = d.OrderID)"
ds = Getdata(strsql)

Dim rc As Integer
Dim aa As New CryClsV1.AutoRepDoc


rc = aa.CreateRepDoc(Sfile,ds.Tables(0),sInfo)‘Sfile是Ini格式的报表设置文件

'sinfo是定义的报表左下角显示内容 If rc > 0 Then MsgBox(rc) Else CrystalReportViewer1.ReportSource = aa.ReportDoc End If

原文链接:https://www.f2er.com/vb/261844.html

猜你在找的VB相关文章