晶体报告的子报告中没有获取数据

时间:2013-07-26 14:06:01

标签: c# asp.net sql-server crystal-reports

我在子报告中获取数据时遇到了一些问题。在水晶报告数据中以适当的方式获取,但是当我点击子报告时,它显示“没有有效的报告源可用”

protected void btnSearch_Click(object sender, EventArgs e)
        {
            ReportDocument rptDoc = new ReportDocument();
            ComplaintTrackingSystem.Reports.Datas dss = new Reports.Datas();
            DataTable dt = new DataTable();
            // Just set the name of data table
            DataSet ds;
            Hashtable ObjParameters = new Hashtable();
            BusinessLogicLayer ObjBusiness = new BusinessLogicLayer();
            ObjParameters.Add("@From", dateFrom.SelectedDate.ToShortDateString());
            ObjParameters.Add("@To", dateTo.SelectedDate.ToShortDateString());
            ds = ObjBusiness.SPDataSet(ObjParameters, "ReportForAverageCompt");
            dt.TableName = "Crystal Report Example";
            dt = ds.Tables[0]; //This function is located below this function
            dss.Tables[0].Merge(dt);
            // Your .rpt file path will be below
            rptDoc.Load(HttpContext.Current.Server.MapPath("../Reports/AverageReport.rpt"));
            //set dataset to the report viewer.
            rptDoc.SetDataSource(dss);
            CrystalReportViewer1.ReportSource = rptDoc;
            Session["Report"] = rptDoc;
            ComplaintTrackingSystem.Reports.Datas dssNew = new Reports.Datas();
            ds.Clear();
            ds = ObjBusiness.SPDataSet(ObjParameters, "ReportForResolvedCompt");
            dt.TableName = "Crystal Report";
            dt = ds.Tables[0]; //This function is located below this function
            dssNew.Tables[0].Merge(dt);
            //set dataset to the report viewer.
            rptDoc.Subreports["AdminReport.rpt"].SetDataSource(dssNew);
            rptDoc.Refresh();
            CrystalReportViewer1.ReportSource = rptDoc;

        }

1 个答案:

答案 0 :(得分:0)

观众正在发生这种情况,对吧?如果是这样,则错误可能是查看者无法在会话中找到报告的结果。查看主题“No valid report source is available. in asp.net sap crystal report”。

相关问题