简体   繁体   中英

Crystal Sub-report in ASP.NET C#

Below code is for main report and sub-Report. main report is working fine but when i add sub-report code it throws an exception message: "Missing Parameter Values".But i put all the parameters correctly.

    string strSelect = "";
    strSelect = "SELECT * FROM Daily_Order WHERE orderDate BETWEEN '" + txtDateFrom.Text + "' AND '" + txtDateTo.Text + "' and catagory='" + ddlCategory.SelectedItem.Text + "'   ";

    ReportDocument report= new ReportDocument();
    ds = dataProvider.getDataSet(strSelect, "Daily_Order");
    report.Load(Server.MapPath("Report\\Challan.rpt"));
    report.FileName = Server.MapPath("Report\\Challan.rpt");
    report.Refresh();
    report.SetDataSource(ds);

    report.SetParameterValue("Combined", 10);
    report.SetParameterValue("Suppliment1", 10);
    report.SetParameterValue("CombinedMax", 10);
    report.SetParameterValue("individual", 10);
    report.SetParameterValue("individualMax", 10);
    report.SetParameterValue("SupplimetMax1", 10);
    report.SetParameterValue("Suppliment2", 10);
    report.SetParameterValue("SupplimentMax2", 10);
    report.SetParameterValue("SupplimentPage2", 10);

    report.SetDatabaseLogon("sa", "erp", "accpac-dbserver", "ALOCIR");

// Sub-report starts here

   ReportDocument Subreport = report.Subreports[0];

    string strSubSelect = "Select * from Daily_Order where orderDate between '" + txtDateFrom.Text + "' and '" + txtDateTo.Text + "' and catagory='" + ddlCategory.SelectedItem.Text + "' ";
    ds1 = dataProvider.getDataSet(strSubSelect, "Daily_Order");
    report.Load(Server.MapPath("Report\\Challan.rpt"));
    report.OpenSubreport("summary").SetDataSource(ds1.Tables[0]);

    report.SetParameterValue("ExtraDhk", 10, "summary");
    report.SetParameterValue("ExtraCtg", 10, "summary");
    report.SetParameterValue("ExtraBog", 10, "summary");
    report.SetParameterValue("Combined", 10, "summary");
    report.SetParameterValue("individual", 10, "summary");
    report.SetParameterValue("CombinedMax", 10, "summary");
    report.SetParameterValue("individualMax", 10, "summary");

    report.SetDatabaseLogon("sa", "erp", "accpac-dbserver", "ALOCIR");
    Subreport.SetDatabaseLogon("sa", "erp", "accpac-dbserver", "ALOCIR");

    report.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Server.MapPath("Report/Challan.pdf"));
    ClientScript.RegisterStartupScript(this.Page.GetType(), "popupOpener", "var popup=window.open('Report/Challan.pdf');popup.focus();", true);

Exception throws on that line:

 report.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Server.MapPath("Report/Challan.pdf"));

Did i miss any line of code? wont't find any solution- please help

像这样设置子报表参数

 report.Subreports[0].SetParameterValue("@your parameter name", parameter-value);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM