【问题标题】:How to Add two Data tables in one Crystal Report?如何在一个水晶报表中添加两个数据表?
【发布时间】:2019-05-01 04:37:58
【问题描述】:

我正在尝试向 Crystal Report 添加两个数据表, 我在水晶报表中插入了两个子报表,并添加了一个包含两个数据表的数据集,但是如何通过代码将两个数据表传递给子报表。

注意: 2 个数据表是查询生成的,而不是数据库中的表。

        Dim Stmt1 As String = "select C_Code,C_name,Units from Courses where St_year like 'First' and C_Department like '%" & Label16.Text & "%' "
        Dim adp1 As New OleDbDataAdapter(Stmt1, con)
        Dim ds1 As New DataSet
        adp1.Fill(ds1)
        Dim dt1 = ds1.Tables(0)

        Dim Stmt2 As String = "select C_Code,C_name,Units from Courses where St_year like 'Second' and C_Department like '%" & Label16.Text & "%' "
        Dim adp2 As New OleDbDataAdapter(Stmt2, con)
        Dim ds2 As New DataSet
        adp2.Fill(ds2)
        Dim dt2 = ds2.Tables(0)

        Dim reportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument
        reportDocument = New RptResultsCR

        reportDocument.Subreports("Subreport1").SetDataSource(dt1)
        reportDocument.Subreports("Subreport2").SetDataSource(dt2)

        RptCourse.CrystalReportViewer1.ReportSource = reportDocument

        RptCourse.ShowDialog()

【问题讨论】:

    标签: vb.net crystal-reports


    【解决方案1】:

    使用下面一行

    RptDocument.Subreports(0).SetDataSource(ds1.Tables(0))
    

    【讨论】:

    • 编辑:到目前为止,这是我的代码。但它不起作用。
    • 您的报告文档为空。您必须加载一个 rpt 文件。在您分配数据源之前。
    • 你能解释更多吗?
    • 您的文档网的数据源必须与您的数据集中完全相同。如果您添加了一个名为employee 的表,其中包含三列名称、名字、年龄,那么您作为数据源提供给报表的表。水晶有一点棘手。我个人创建了一个包含所有表格的数据集。从该数据集创建一个 xml 文件并使用该 xml 文件作为数据源来创建我的 rpt 文件。我将其加载到 rptdoc 并将该数据集添加为数据源
    猜你喜欢
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多