如何给水晶报表子报表加上数据源 C#

如何给水晶报表子报表加上数据源 C#,第1张

数据源设置如下: CrystalDecisions.CrystalReports.Engine.ReportDocument rpt=new CrystalDecisions.CrystalReports.Engine.ReportDocument()rpt.SetDataSource( "报表数据源 ")rpt.OpenSubreport( "子报表名称 ").SetDataSource( "子报表数据源 ")

建水晶报表时选择“仅字段定义”,对应你要查询出来的结果集每列的列名、数据类型填好。创建的字段文件存好,名称要和报表名字一致

在你代码中“返回一个数据集”时传给

String tableName = reportClientDocument.getDatabaseController().getDatabase().getTables().getTable(0).getName()

reportClientDocument.getDatabaseController().setDataSource(rs, tableName, "Reports")

这样就把查询的rs绑定到水晶报表里面(上面是java代码)

首先引用Crystal Reports 9 ActiveX Designer Run Time Library

再添加Crystal Repotr View Control 9控件

在工程资源管理器中右键--添加--Crystal Reports 9 新建一个Crystal Reports9报表

设置数据源后将要显示的字段加入报表内。

窗体代码部分:

Dim m_Report As New CrystalReport1 \'(这个CrystalReport1是你建立的报表的名称)

Dim m_Connection As ADODB.Connection \'(建立一个ADO连接)

Dim adoRS As ADODB.Recordset

Private Sub Form_Load()

Dim SQL As String

Dim strConnect As String

\' Create and bind the ADO Recordset object

Set m_Connection = New ADODB.Connection

Set adoRS = New ADODB.Recordset

\' Open the connection

strConnect = "你的数据库连接字符串"

m_Connection.Open strConnect

SQL = "查询语句"

adoRS.Open SQL, m_Connection, adOpenDynamic, adLockBatchOptimistic

m_Report.Database.SetDataSource adoRS\'(动态设置报表数据源)

Screen.MousePointer = vbHourglass

CRViewer1.ReportSource = m_Report

CRViewer1.ViewReport \'(显示报表)

Screen.MousePointer = vbDefault

End Sub

此代码在VB6+SP5+Windows2000 Server下调试通过

以上代码参考水晶报表9中文版


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11149954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存