科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VS.NET无缝集成Crystal Reports

VS.NET无缝集成Crystal Reports

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

介绍Visual Studio.NET集成Crystal Reports的资料真是少的可怜.....

作者:谢根刚 来源:yesky 2007年11月9日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
设计报表并在报表中通过选择专家工具加入一选择公式:{客户.ID} = {?ID}
(详细建表步骤非本文重点,因篇幅原因,请大家参阅相关资料)

  现在一切都准备就绪,下面就可以干点正事了!

  首先新建一个Visual Basic.NET Windows应用程序项目。

  在解决方案资源管理器中引用CrystalDecisions.CrystalReports.Engine和CrystalDecisions.Shared两个.NET组件。

  再在表单的声明区中加入:

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

  按上图所示,在表单中摆放好四个控件,然后在按钮控件的Click事件中编写如下代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
'ParameterField类提供属性,以便检索和设置参数字段的选项和值。
Dim ParamFields As New ParameterFields()
Dim ParamField As New ParameterField()
'定义Crystal Report离散值
Dim DiscreteVal As New ParameterDiscreteValue()
Dim LogOnInfo As New TableLogOnInfo()

'表示一个报表,并且包含定义、格式化、加载、导出和打印该报表的属性和方法。
Dim Report As New ReportDocument()

'加载你事先做好的Crystal Report报表文件
Report.Load("D:\Temp\Order.RPT")

' 对报表中的每个表依次循环。
Dim i As Integer
For i = 0 To Report.Database.Tables.Count - 1
'ConnectionInfo提供属性,以便检索和设置与数据库服务器或 ODBC 数据源连接的选
项。
'当前表的连接信息,请设置为与你机器相关的正确数值
LogOnInfo.ConnectionInfo.ServerName = "localhost"
LogOnInfo.ConnectionInfo.DatabaseName = "MRP"
LogOnInfo.ConnectionInfo.UserID = "sa"
LogOnInfo.ConnectionInfo.Password = "020617"
'应用连接信息
Report.Database.Tables.Item(i).ApplyLogOnInfo(LogOnInfo)
Next i

Dim CurrentID As Int16 = Convert.ToInt16(TextBox1.Text)
'重定义Crystal Report选择条件
If CurrentID = 0 Then
Report.DataDefinition.RecordSelectionFormula = "{客户.ID} > {?ID}"
Else
Report.DataDefinition.RecordSelectionFormula = "{客户.ID} = {?ID}"
End If
DiscreteVal.Value = Convert.ToInt16(TextBox1.Text)
ParamField.ParameterFieldName = "ID"
ParamField.CurrentValues.Add(DiscreteVal)
ParamFields.Add(ParamField)
'应用参数
CrystalReportViewer1.ParameterFieldInfo = ParamFields
CrystalReportViewer1.DisplayGroupTree = False
'将Crystal Replort查看器的数据源设为ReportDocumnet类的实例
CrystalReportViewer1.ReportSource = Report
Catch e1 As Exception
MessageBox.Show(e1.ToString & Chr(10) & "请检查SQL用户名,密码等连接参数和Order.RPT路径设置等!", "不正确的环境设置")
End Try
End Sub

  搞定!现在让我们放松一下,冲杯咖啡,坐下来慢慢欣赏自己的作品啦,是不是又酷又实用哦!当然了,这只是给大家介绍一种思路,还有很多更酷更实用的东东,比如直接导出为Excel、PDF等格式,运行时更改组,通过WEB发布报表,大家可以打开MSDN细细发掘.NET的神奇功能吧!

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章