【问题标题】:Crystal report second subreport causes missing parameter values error水晶报表第二个子报表导致缺少参数值错误
【发布时间】:2020-04-12 17:40:40
【问题描述】:

我有一个包含两个子报告的水晶报告,它会在调用 ExportToDisk 时导致缺少参数值错误。它与 subreport[0] 一起工作得很好,并且在添加 subreport[1] 之后出现错误。

我在使用子报表[1] 时做错了吗?任何建议将不胜感激。

谢谢,

        using (ReportClass rptH = new ReportClass())
        {
            rptH.FileName = "Report.rpt";
            rptH.Load();

            List<SampleDetails> aDetails = new List<SampleDetails> ();
            aDetails = GetADetailsData();
            rptH.SetDataSource(aDetails);

            List<SampleHeader> aHeader = new List<SampleHeader>();
            aHeader = GetAHeaderData();
            rptH.Subreports[0].SetDataSource(aHeader);

            List<SampleData> aFooter = new List<SampleData> ();
            aFooter = GetAFooterData();
            rptH.Subreports[1].SetDataSource(aFooter);

            sPath = "Output.pdf");

            FileStream fs1 = new FileStream(sPath, FileMode.OpenOrCreate, FileAccess.Write);
            fs1.Close();

            rptH.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, sPath);
        }

【问题讨论】:

  • 报表导出前是否有参数提示?
  • 我没有意识到,因为它没有提示。谢谢,
  • 参数问题通过更改子报表清除。现在 ExportToDisk 抛出错误“系统找不到指定的路径”。当 aFooter.count = 0 时,我已在包含子报表的主报表部分中设置了子报表,其中包含“禁止空白子报表”和“禁止空白部分”。但是,它仍然在 ExportToDisk 上崩溃。谁能告诉我如何防止这个错误?非常感谢!

标签: crystal-reports report


【解决方案1】:
rptH.Subreports[1].SetParameterValue("@your parameter namme", parametervalue);

试试这个。

【讨论】:

  • 如果答案有效并且您觉得它真的很有用,请点赞。
【解决方案2】:

如果您从数据集中加载子报表,则需要先加载参数,然后再在主报表中设置任何参数。 示例:

reportSOA report = new reportSOA();
report.Subreports["reportSOA_Details.rpt"].Database.Tables["Transactions"].SetDataSource(ListOfTransactions);
report.SetParameterValue("CompanyName", reportCompanyName);

如果你翻转第 2 行和第 3 行,你会得到这个错误。 希望这可以节省您的时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多