在 Crystal Report 和 ASP.NET C# 中使用子报表

Posted

技术标签:

【中文标题】在 Crystal Report 和 ASP.NET C# 中使用子报表【英文标题】:Using Subreport in Crystal Report and ASP.NET C# 【发布时间】:2015-06-04 06:57:43 【问题描述】:

我的主报表和子报表非常相似,使用相同的参数和公式,唯一的区别是它们在脱轨部分的顺序。现在,当我在报表中加载子报表并运行它时,ASP.NET 不断要求输入所用参数的值。

我想我需要一个加载子报表的代码。

 protected void Page_Load(object sender, EventArgs e)
            

       report.Load(Server.MapPath("MonthlySalesReportP.rpt"));


        report.SetDatabaseLogon
          ("sa", "pw", @"databasename, "servername");  

        CrystalReportViewer1.ReportSource = report;
        CrystalReportViewer1.ReuseParameterValuesOnRefresh = true;
        CrystalReportViewer1.DataBind();
        CrystalReportViewer1.SeparatePages = false;



        report.SetParameterValue(0, MonthLastYear);
        report.SetParameterValue(1, MonthCurrent);
        report.SetParameterValue(2, MonthPrevious);
        report.SetParameterValue(3, RP);
        report.SetParameterValue(4, Loc);
        report.SetParameterValue(5, cms);
        report.SetParameterValue(6, YearCurrent);
        report.SetParameterValue(7, YearPrevious);
        report.SetParameterValue(8, YearLastYear);
        report.SetParameterValue(9, FullName);



我是否应该包含阅读子报告所需的代码?

我看到了这个建议

report.SetDataSource(dtproductview);
report.Subreports[0].SetDataSource(dsHeader.Tables[0]);
report.Subreports[1].SetDataSource(dsFooter.Tables[0]);

但我没有数据表或数据集,它直接来自存储过程

【问题讨论】:

您是否已经尝试将设置参数的部分移到设置 CrystalReportViewer1 属性的部分之前? 移动到?我应该把那部分移到哪里? 类似pastebin.com/derbNDJg 我明白了。刚才试了一下还是一样。不工作 子报表的参数是否与主报表的参数相关联? codeproject.com/Questions/774764/…(见解决方案一) 【参考方案1】:

    您是否尝试过将子报表的参数链接到主报表?

    (子报表上下文菜单中的Change subreport links

    你也可以试试:

    report.Subreports[0].SetParameterValue(0, MonthLastYear);

【讨论】:

嗨,现在尝试第 2 条建议 关于 1 号建议,目前子报告有自己的参数,与主报告相同。可以改链接吗?

以上是关于在 Crystal Report 和 ASP.NET C# 中使用子报表的主要内容,如果未能解决你的问题,请参考以下文章

在 Crystal Report 和 ASP.NET C# 中使用子报表

Crystal Report - vs 2003 项目的加载报告失败

Crystal Report 7替代行颜色

如何在 C# 中使用特定的 INNER JOIN 查询和条件制作 Crystal Report

如何删除 Crystal Report Viewer 中的主选项卡?

Crystal Report - 从子报告中打印信息