Comment envoyer des paramètres à un sous-rapport dans Crystal Reports

À l'aide de VS 2008.

J'ai deux procédures stockées, utilisées pour obtenir les données du rapport principal et d'autres pour les Sous-rapport et à la fois la SP utiliser le même paramètre QuoteID.

J'ai envoyer paramètre du rapport principal à l'aide de ReportDocument. Mais je ne suis pas au courant comment envoyer des paramètres à un sous-rapport.

J'ai essayé beaucoup de diff façons à l'aide de la reportdocument de la méthode setparameter qui prend aussi le nom de sous-rapport en tant qu'argument.Mais il n'a pas.

Ci-dessous le code que j'ai utilisé

    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); 
    } 

L'envoi de paramètre de Sous -

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

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

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

rien n'a fonctionné.J'ai déjà perdu deux jours sur cette. [SD_SalesOrderReport;1] principale de SP et [SD_GetBatchReportDetails;1] sous-SP.

Ce serait génial si quelqu'un peut fournir une solution pour ce.Si il y a quelques changements à effectuer, conçu veuillez partager des images.Merci.

Enfin, après beaucoup de pistes, que j'ai résolu.Peut-être que ce sera utile à d'autres.J'ai utilisé le même Nom de paramètre pour le Principal et le sous-état, utilisé ci-dessous le code pour définir son paramètre objReportDocument.SetParameterValue("@QuoteID", ValQuoteID,objReportDocument.Les sous-rapports[0].Nom.ToString());

OriginalL'auteur Prathap | 2013-02-23