0

I am sending a parameter to sub report to display image but fails to do so. Why ?

I have loaded the image in parent report in the same way but that process doesn't work in subreport.

Why ?

Parent report:

public void Fill_AuditsReport()
    {
        ReportViewer1.AsyncRendering = false;
        ReportViewer1.SizeToReportContent = true;
        ReportViewer1.ZoomMode = ZoomMode.FullPage;
        this.ReportViewer1.Reset();

        DataTable dt = new DataTable();
        PersonalInfo.ManagePersonalInfo MngPersonalInfo = new PersonalInfo.ManagePersonalInfo();

        dt = MngPersonalInfo.ReportSelectPersonalInfo();

        ReportViewer1.ProcessingMode = ProcessingMode.Local;
        ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/DataManagementReports/Report.rdlc");
        ReportDataSource rpds = new ReportDataSource("DataSetEmployeeInfo", dt);

        ReportViewer1.LocalReport.EnableExternalImages = true;
        string FilePath = new Uri(Server.MapPath("~/SiteImages/")).AbsoluteUri;
        ReportParameter param = new ReportParameter("ImgPath", FilePath);
        ReportViewer1.LocalReport.SetParameters(param);
        ReportViewer1.LocalReport.Refresh();

        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(rpds);
        ReportViewer1.Visible = true;
    }

Sub Report: (DrillThrough)

protected void ReportViewer1_Drillthrough(object sender, DrillthroughEventArgs e)
{
    try
    {
        LocalReport Report = (LocalReport)e.Report;
        int ID = Convert.ToInt32(e.Report.GetParameters()[0].Values[0].ToString());


        Report.DataSources.Add(new ReportDataSource("DataSetEmployeeAllData", LoadValues(ID)));
        Report.Refresh();


    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }

}

    private DataTable LoadValues(int PersonalInfoID)
    {
        try
        {

            //DataSetPersonalInfoTableAdapters.ReportEmployeeAllDataTableAdapter tba = new DataSetPersonalInfoTableAdapters.ReportEmployeeAllDataTableAdapter();

            DataSetEmployeeAllDataTableAdapters.ReportEmployeeAllDataTableAdapter tba = new DataSetEmployeeAllDataTableAdapters.ReportEmployeeAllDataTableAdapter();

            return tba.GetData(PersonalInfoID);


        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
            throw;
        }
    }
leppie
  • 115,091
  • 17
  • 196
  • 297
Juventus tech
  • 95
  • 4
  • 13
  • You aren't passing your parameter to your subreport, also you need to make sure that `EnableExternalImages = true` for the subreport aswell. What error are you getting? First try and print the parameter in full text on the subreport and go further from there.... – Oceans Nov 16 '15 at 12:40
  • how to pass parameter, I have tried everything – Juventus tech Nov 17 '15 at 09:13
  • http://stackoverflow.com/a/8924617/4579864 – Oceans Nov 17 '15 at 12:06

0 Answers0