gpt4 book ai didi

c# - Crystal Reports如何给子报表发送参数

转载 作者:太空狗 更新时间:2023-10-30 00:05:17 25 4
gpt4 key购买 nike

使用 VS 2008。

我有两个存储过程,一个用于获取主报表的数据,另一个用于子报表,两个 SP 使用相同的参数 QuoteID。

我已经使用 ReportDocument 将参数发送到主报表。但是我不知道如何向 SubReport 发送参数。

我使用 reportdocument 的 setparameter 方法尝试了很多不同的方法,该方法也将子报表名称作为参数。但它没有。

下面是我用过的代码

    string Type = gvQuotationDetails.Rows[QuoteIndex].Cells["Type"].EditedFormattedValue.ToString();

FilePath = ConfigurationManager.AppSettings["EMP_IMG_PATH"].ToString() + "\\" + ValQuoteID.ToString() + ".pdf";

DeleteExistingFile(FilePath);

try
{
AccountsPayableMaster objAPM = new AccountsPayableMaster();
QuotationReport obj = new QuotationReport();
objReportDocument.Load(Application.StartupPath + @"\rptQuotationReport.rpt");
obj.crysQuotationReport.LogOnInfo = objAPM.ConnectionDetails("SD_SalesOrderReport;1");
obj.crysQuotationReport.LogOnInfo = objAPM.ConnectionDetails("SD_GetBatchReportDetails;1");
obj.crysQuotationReport.ReportSource = objReportDocument;
objReportDocument.SetParameterValue("@QuoteID", ValQuoteID);
objReportDocument.SetParameterValue("Type", Type);
//objReportDocument.Subreports[Application.StartupPath + @"\BatchSubReport.rpt"].SetParameterValue("@QuoteID", ValQuoteID);
//objReportDocument.Subreports["BatchReport.rpt"].SetParameterValue("@QuoteID", ValQuoteID);

string[] Print = objAPM.GetPrintDetails();

SetPrintParameters(objReportDocument, Print);

obj.Show();

objReportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, FilePath);
}

catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

向子报表发送参数

//objReportDocument.Subreports[Application.StartupPath + @"\BatchSubReport.rpt"].SetParameterValue("@QuoteID", ValQuoteID);

//objReportDocument.Subreports["BatchReport.rpt"].SetParameterValue("@QuoteID", ValQuoteID);

////objReportDocument.SetParameterValue("@QuoteID", ValQuoteID,"BatchReport.rpt);

没有任何效果。我已经在这上面浪费了两天时间。 [SD_SalesOrderReport;1] 主 SP 和 [SD_GetBatchReportDetails;1] 子报表 SP。

如果有人可以为此提供解决方案,那就太好了。如果要对设计进行一些更改,请分享图片。谢谢。

最佳答案

经过大量的尝试,我终于解决了这个问题。可能这对其他人有帮助。我对 Main 和 SubReport 使用了相同的参数名称,使用下面的代码来设置其参数

objReportDocument.SetParameterValue("@QuoteID", ValQuoteID,objReportDocument.Subreports[0].Name.ToString());

关于c# - Crystal Reports如何给子报表发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15037550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com